Back to projects
CLinuxKernel

Linux Kernel Module

"Developing a specialized Linux kernel module designed to monitor hardware parameters inaccessible via standard ACPI drivers."

CategorySystem
Year
Screenshot of Linux Kernel Module project

Project Overview

This project involved developing a specialized Linux kernel module designed to monitor hardware parameters that were previously inaccessible via standard ACPI drivers on specific industrial motherboard architectures.

Technical Challenge

The primary challenge was managing safe memory-mapped I/O (MMIO) without interfering with existing system drivers. I had to implement a custom character device interface that allowed user-space applications to poll hardware state with minimal latency.

static int dev_open(struct inode *inodep, struct file *filep) {
   numberOpens++;
   printk(KERN_INFO "HardwareMonitor: Device has been opened %d time(s)\n", numberOpens);
   return 0;
}

Results

  • Latency Reduction: Achieved a 40% reduction in monitoring latency compared to the legacy shell-script based solution.
  • Stability: Passed comprehensive stress testing with zero kernel panics over a 72-hour period.
  • Portability: Verified compatibility across Linux kernels 5.4 through 6.1.