OS
by @Adel-Ayoub
Active 23
Minimal x86 OS in NASM assembly with protected mode, paging, threading, and interrupts.
About this project
OS A minimal 32-bit x86 operating system written in NASM assembly. Installation Requirements NASM assembler i686-elf-ld (cross-linker) Bochs emulator Make Bash Features Completed Features Boot Process MBR Boot Sector: 512-byte master boot record Protected Mode: 16-bit to 32-bit mode transition GDT Setup: Global Descriptor Table configuration Paging: Two-level page table with 4KB pages Memory Management Physical Memory Pools: Kernel and user memory pools Virtual Address Space: Virtual memory allocation Page Allocation: Dynamic page allocation/deallocation Bitmap Allocator: Efficient bitmap-based tracking Interrupt Handling IDT Setup: Interrupt Descriptor Table initialization PIC Configuration: 8259A PIC master/slave setup Timer Interrupt: Programmable interval timer (100Hz) Keyboard Handler: PS/2 keyboard with scancode mapping Threading Thread Control Blocks: Per-thread state management Cooperative Scheduler: Round-robin scheduling Thread Creation: Dynamic thread spawning Mutex Locks: Synchronization primitives Console I/O VGA Text Mode: 80x25 character display Cursor Control: Hardware cursor positioning Printf Implementation: Format string support
From the project README on GitHub
- Stars
- 23
- Forks
- 0
- License
- Apache-2.0
- Last push
- 5 Feb 2026
Add this badge to your README
Show that your project is listed on Made in Algeria.
[](https://www.madeinalgeria.dev/projects/os)