Posts

Showing posts with the label Static Modules

Linux Device Drivers - Part 4 : Linux Kernel Moduels (LKM) and types of LKM's

Image
In this sesssion, we will discuss about Linux Kernel Modules Base Kernel, User Space and Kernel Space Types of Linux Kernel Modules, Which module type to choose while Kernel Programming ? Location of Linux Kernel Modules in a linux PC. What exactly is a module in Linux ? Its a piece of code that can be added to the Base Kernel. We will be discussing about Base kernel in coming slides. If you are planning to add some code to kernel, then it means you are adding a module to Linux Kernel.We can't just add code to Linux without any purpose.  We add code to make a device (like printer,bluetooth dongle etc) to work.We call this piece of code as device drivers in Windows. Assuming many are familiar with Windows, we can draw one conclusion.As we have device drivers in Windows Operating system, we have modules in Linux Operating system.In short, Devices Drivers are called modules in Linux Operating system. Both terms can be used interchangeably. Before knowing about Modu

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