Posts

Showing posts with the label Kernel Space

Linux Device Drivers Part -7 : Kernel Modules vs Applications

Image
In this part, we are going to discus about , The difference between Kernel Modules (KM) and Applications (APs) in brief . Before proceeding further, I strongly recommend to watch my earlier videos from "Linux Device Drivers Part -1 to Part 6". Though there are many differences, to keep it simple and to explain in brief , I have hand picked few differences and listed them as topics form, which can be easily remembered and recollected when required We compare below 6 topics between Kernel Modules (KM) and Applications (APs) 1. Initialisation 2. Which are Event Driven KM's or AP’s     3. About Exit Procedure in  KM's or AP’s   4. Ability to unload a module    5. Linking stage    6. Handling faults    This tutorial covers only brief description of all topics listed. This will help us to understand upcoming sessions with ease Lets start with our first topic, 1. Initialisation When we invoke a application, it starts and proceed ahead till end . Mo

Linux Device Drivers Part - 2 : System Memory, Static Modules and Dynamic Modules

Image
Before proceeding further, I strongly recommend you to watch Part-1 of Linux Device Drivers from MrTechpathi tutorials . In this part we will learn about following topics. System Memory Kernel Space and User Space Kernel Modules : Static Modules and Dynamic Modules So lets start with our first topic 1. System Memory This topic is choosen to completely understand user space and kernel space. Every system has certain amount of memory. This memory consists of RAM (Random Access Memory) cells, whose contents can be accessed (i.e., read and written to) at extremely high speeds but are retained only temporarily (i.e., while in use or, at most, while the power supply remains on). Coming to the purpose of memory, it holds programs and data that are currently in use and thereby serve as a high speed mediumbetween the CPU (central processing unit) and the much slower storages like hard disk drives (HDDs). This System memory in Linux can be divided into two distinct region