“Jai Sri Gurudev”
S J C INSTITUTE OF TECHNOLOGY
DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING
Project Based Learning
On
“Kernel Modules”
PRESENTED BY
NAMES: USN: 1SJ21CS046
Gajendra DR 1SJ21CS047
Gowtham U 1SJ21CS048
Gajendra LU
Under the guidance of Under HOD
Rashmi K A Dr Manjunath kumar B H
Asst professor Professor and HOD
Dept. of CSE ,SJCIT Dept. of CSE,SJCIT
CONTENTS
INTRODUCTION
DEFINITION
MODULE-MANAGEMENT SYSTEM
MODULE LOADER AND UNLOADER
DRIVER-REGISTRATION SYSTEM
CONFLICT-RESOLUTION MECHANISM
CONCLUSION
Dept. of CSE, SJCIT 2
INTRODUCTION
Kernel modules are pieces of code that can be loaded and
unloaded into the kernel upon demand.
They extend the functionality of the kernel without the need to
reboot the system.
A module can be configured as built-in or loadable.
To dynamically load or remove a module, it has to be configured as
a loadable module in the kernel configuration.
Four components to Linux Kernel module support:
• module-management system
• module loader and unloader
• driver-registration system
• conflict-resolution mechanism
BASIC COMPONENTS
MODULE-MANAGEMENT SYSTEM
Supports loading modules into memory and letting them talk to the rest
of the kernel
Module loading is split into two separate sections:
Managing sections of module code in kernel memory
Handling symbols that modules are allowed to reference
The module requestor manages loading requested, but currently
unloaded, modules; it also regularly queries the kernel to see whether a
dynamically loaded module is still in use, and will unload it when it is no
longer actively needed
MODULE LOADER AND UNLOADER
DRIVER-REGISTRATION SYSTEM
Allows modules to tell the rest of the kernel that a new driver has
become available
The kernel maintains dynamic tables of all known drivers, and provides a
set of routines to allow drivers to be added to or removed from these
tables at any time
Registration tables include the following items:
Device drivers
File systems
Network protocols
Binary format
CONFLICT-RESOLUTION MECHANISM
A mechanism that allows different device drivers to reserve hardware resources and
to protect those resources from accidental use by another driver.
The conflict resolution module aims to:
Prevent modules from clashing over access to hardware resources
Prevent autoprobes from interfering with existing device drivers
Resolve conflicts with multiple drivers trying to access the same hardware:
Kernel maintains list of allocated HW resources
Driver reserves resources with kernel database first
Reservation request rejected if resource not available
THANK
YOU
Dept. of CSE, SJCIT 11