About
Koiz-OS is a side project I started in 2020 to create my own operating system from scratch. My initial goal was to get to user processes, which I completed in 2023.
It initially served as a project to help me better understand how operating systems works in general and is a bit of a pet project I do just for fun. It's not meant to be used in production settings. Below is a brief summary of my milestones with links to the full articles.
Milestone 1 - Bootloader

Highlights:
- Programmed a custom bootloader to load the operating system
- See Full Post
Milestone 2 - Building a Standard Library

Highlights:
- Programmed a standard C library that works with my operating system
- See Full Post
Milestone 3 - Interrupts

Highlights:
- Added in interrupts and interrupt handlers (ISR/IRQs)
- Added in PIC interrupts for handling the keyboard.
- See Full Post
Milestone 4 - Physical Memory Allocation

Highlights:
- Added memory detection.
- Added in a physical memory allocator that handles alloc/free while respecting reserved areas of memory
- See Full Post
Milestone 5 - Virtual Memory Allocation

Highlights:
- Added Paging (Page Directories/Tables), TLB, and MMU support
- Added virtual memory translations
- See Full Post
Milestone 6 - Malloc/Free and Memory

Highlights:
- Added a slab allocator
- Added malloc/free
- Added a basic shell with two shell commands
- See Full Post
Milestone 7 - Adding More Shell Commands
TODO
Milestone 8 - Dropping to Userspace
TODO
Milestone 9 - Processes and Scheduling
TODO