Skip to content

NavaneethMv/mini-kernal

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MiniKernel: OOP in C & Linux Driver Architecture

A bare-metal simulation of the Linux Kernel's Object-Oriented design patterns. This project demonstrates how C uses function pointers, vtables, and generic pointers (void*) to achieve polymorphism without language-level support for classes.

Overview

The Linux Kernel is written in C, yet it is highly modular and object-oriented. This project reverse-engineers that architecture to build a "Mini Kernel" that manages hardware drivers.

Project Structure

.
├── Makefile           
├── device.h           # THE CONTRACT: Interface definitions (Kernel Space)
├── kernel_types.h     # Type definitions mimicking <linux/types.h>
├── main.c             # THE CORE: Boot sequence and device iteration
├── keyboard.c         # DRIVER: Specific implementation of a keyboard

About

A mini mock kernal

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages