Skip to content

anshuLIFO/Operating-System-Kernel

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Process Memory Allocation Kernel Module Overview

  • This project implements a Linux kernel module that handles memory allocation and deallocation requests from user processes by directly managing virtual memory mappings. The module exposes a virtual device and services requests using an ioctl interface, similar to mmap and munmap.

Developed on Ubuntu Linux (x86_64) as part of an Operating Systems course.

Technologies

  • C, C++, Linux, Ubuntu, x86_64, GDB, ioctl, virtual memory

Key Features

  • Implemented a kernel module exposing /dev/memalloc for user–kernel communication

  • Walked multi-level page tables (PGD → PTE) to validate and map virtual addresses

  • Allocated physical pages and mapped them with correct permissions

  • Enforced allocation limits and returned precise error codes for safety

Why This Project Is Important

  • This project demonstrates low-level systems expertise beyond typical application development, including kernel programming, memory management, and safe user–kernel interaction. It reflects the ability to reason about correctness, performance, and resource isolation in environments where errors can crash the system, skills that directly translate to backend, infrastructure, and systems software roles.

Disclaimer

  • Academic project for educational purposes only.

About

Built this Operating System Kernel with paging, process memory management, synchronization, and important concepts like mutexes, locks, etc.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors