Skip to content

Latest commit

 

History

History
33 lines (26 loc) · 1.97 KB

File metadata and controls

33 lines (26 loc) · 1.97 KB

🐧 Linux Kernel Module Development (C)

OS Language Platform KFU

📌 Project Overview

This project focuses on the development and implementation of a Linux Kernel Module (LKM). Unlike standard applications, this module operates within the kernel space, allowing direct interaction with the core of the operating system. The project serves as a practical demonstration of low-level system programming and kernel lifecycle management.

🛠️ Technical Implementation & Methodology

The project was developed in a controlled Linux environment to explore kernel-level operations. Key milestones documented in this repository include:

  1. Source Design: Development of the module logic in C using kernel functions like printk for system logging.
  2. Compilation Workflow: Automating the build process using a Makefile to generate kernel objects (.ko).
  3. Kernel Interaction: - Inserting the module using insmod.
    • Managing system parameters and viewing real-time kernel logs via dmesg.
    • Safely removing the module using rmmod.

🚀 Key Learning Outcomes

  • Understanding the difference between User Space and Kernel Space.
  • Mastering Linux command-line tools for system administration and monitoring.
  • Handling dynamic kernel module loading and unloading.

📁 Repository Structure

  • Documentation/: Contains the full technical report (PDF) featuring the source code, compilation steps, and execution results from the Linux terminal.

👥 Developed By

  • Atekah Hussain Aljafar
  • Part of the Operating Systems Course - King Faisal University.

Connect with me on LinkedIn for more projects! https://www.linkedin.com/in/ateka-hussain/