OS-research-lab

Exploring kernel-level operating system design through simulation and machine learning. Focused on schedulers, memory management, and early experiments toward building a custom OS.

This is an ongoing research and learning project, where I explore fundamental OS concepts through simulation, implement new ideas, and eventually work toward building a simple, custom operating system with my own programming language apelang.


Focus Areas

CPU Scheduling

Simulations of traditional and modern CPU scheduling strategies, including:

See: /cpu/


Memory Management

Page replacement experiments using various eviction policies:

See: /memory/


Lock

Normal Spinlock vs Predictive spinlock:

See: /locks/


ML in the Kernel

Early-stage research on using lightweight ML models to assist OS behavior:

This layer sits between static OS heuristics and adaptive, data-driven decision making.


jordyOS (WIP)

A hobbyist operating system built from scratch on macOS, featuring:

See: /jordyOS/


Why This Exists

Most OS behavior lives deep in the kernel — but textbooks often leave no room to experiment.
This repo is my hands-on lab for:


Directory Structure

```bash cpu/ # Scheduling simulations and ML-enhanced RR memory/ # Page replacement experiments (LRU, ML, etc.) locks/ # Lock experiements (Spinlock and predictive spinlock) jordyOS/ # Bootable toy operating system with calculator shell