Skip to content

Latest commit

 

History

History
30 lines (23 loc) · 979 Bytes

README.md

File metadata and controls

30 lines (23 loc) · 979 Bytes

OS

A short-term project for me to learn some new stuff about operating systems.

Features

  1. Bootloader - boots in BIOS mode. No use of GRUB/any other bootloader template.
  2. Kernel loading in 1 stage - first sector of disk loads the kernel from the disk.
  3. Passing to 32 bit mode
  4. Enabling software & hardware interrupts
  5. Enabling the timer (that currently doesn't do anything)
  6. Reading input from keyboard
  7. Writing text to the screen

Next things I want to implement

  1. Finish keyboard input (add keyboard modifiers, special characters [delete, function keys, etc.])
  2. Physical memory allocator
  3. Disk driver
  4. File system
  5. Paging in 32bit
  6. Separate the boot to 2 stages (second stage performs jump to 32 bit, then loads the kernel, so the kernel size is not limited)
  7. Moving to ring 3
  8. Processes
  9. Threads & scheduling
  10. Normal GUI (with windows and all)

And then we'll see what's more...

TODO: Document and add some screenshots for swag