Skip to content

leonardoms/DiyOS

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

DiyOS - do it yourself Build Status

Small study Operating System

This is a very very very experimental code, no warranties, it's for own study. :rage3:

If want to compile you need a Cross-Compiler GCC.


Latest built ISO @ build/

Latest boot screenshots

Testing GUI Screenshot


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 RTL81xx
    • Network NE2000 (n2k) [working on]

To compile:

make

To create a disk iso file:

make iso

To run with Qemu:

make run