Small study Operating System
This is a very very very experimental code, no warranties, it's for own study.
If want to compile you need a Cross-Compiler GCC.
Latest built ISO @ build/
Latest boot screenshots
What is done:
- Graphical Server (initial tests)
- Graphical User Interface (initial tests)
- Filesystem (/ and /dev)
- Initial RAM Disk in Tar file format. (mounted on /ram directory)
- Multitasking
- Basic Message System (IPC)
- Memory Manager
- ACPI Reboot and Shutdown
- Global Descriptor Table (GDT)
- Flat memory
- Interrupt Descriptor Table (IDT)
- Basic ISR (only print a message and halt)
- IRQs
- Paging enabled
- Low Memory (0 ~ 1MB) identity paging
- High-Half Kernel (kernel above 0xC0000000)
- 4MB at 0xFFC00000 fixed for Page Tables (physical memory after kernel location)
- Drivers
- keyboard, Timer, Basic Video, PIC
- Serial added to /dev/com file (write only)
- Bochs VBE video
- Basic VGA
Network Realtek RTL81xxNetwork NE2000 (n2k) [working on]
To compile:
make
To create a disk iso file:
make iso
To run with Qemu:
make run