Here we’ll see how to implement a timer module in Linux kernel that will allow users to create multiple periodic timers at the same time. Kernel already has a timer module that allows us to create multiple timers but the timers are not periodic. Using that module we get timeout signal (callback function) only once, after … Continue reading “How to Implement Multiple Periodic Timers in Linux Kernel”
Author: Srikanta
How to Compile Linux Kernel Module
Linux has a build infrastructure called “kbuild” to build in-tree and out-of-tree kernel modules. Here I’ll focus on external or out-of-tree kernel module compilation. Linux “kbuild” infrastructure is fairly complicated, better not to go into that. Here we’ll see how to create a Makefile to compile one or more source files into an external kernel … Continue reading “How to Compile Linux Kernel Module”
Linux Kernel Programming Basics, Create Loadable Kernel Module
What is Linux Kernel? Kernel is the core and central part of the Linux Operating system. It is responsible for the most critical functions of the operating system like process scheduling, memory management, file system management, device handling, networking, interrupt handing etc. It runs on a restricted part of the physical memory, known as Kernel … Continue reading “Linux Kernel Programming Basics, Create Loadable Kernel Module”
What is Endianness? Difference between Big Endian and Little Endian
In computer and data communication, endianness refers to the ordering of bytes of a multi-byte data type in memory. In little endian systems, least significant byte is stored first in the memory and subsequent bytes are stored in the higher memory addresses. Similarly, in big endian systems, bytes are stored in the reverse order, i.e. … Continue reading “What is Endianness? Difference between Big Endian and Little Endian”
Why Function Pointers are Used in C
During program execution, we know that variables are stored in the physical memory (RAM) in the process’ address space. One variable can be stored in multiple bytes. The address of the first byte is called the pointer of the variable. This pointer can be assigned to another (pointer type) variable. The original variable can be … Continue reading “Why Function Pointers are Used in C”