EtherOS

0

Описание

Operating System with desktop environment based on Chromium

Языки

  • C80,6%
  • Shell10,6%
  • CMake4,2%
  • Dockerfile3,1%
  • Assembly1,5%
README.md

EtherOS

Operating system with UI based on Chromium.

Steps to complete

(=================----------------------------) 38 %
  1. Initial
    • Setup limine (or strivale(2)) boot protocol
    • Base entry point
  2. System tables
    • GDT (Global Descriptors Table)
    • LDT (Local Descriptors Table)
    • Basic memory impl
    • Basic memory allocator
  3. Interrupts
    • IDT (Interrupts Descriptors Table)
    • ISR (Interrupt Service Routine)
    • Basic CPU exceptions
  4. Device interrupts
    • IRQ (Interrupt Requests)
    • PIC (Programmable Interrupt Controller)
    • Basic IRQ handlers
  5. Device drivers
    • PS/2 keyboard driver
    • PIT
  6. Memory
    • Virtual memory
    • Paging
    • Slab Allocator
  7. Multitasking
    • Basic task manager
    • Multitasking and context switching
    • Process system calls
  8. Filesystem
    • ATA driver
    • Simple FS implementation (like FAT or self-made)
    • VFS layer implementation
  9. Network
    • RTL8139 driver
    • TCP/IP stack
    • Basic protocols (ARP, ICMP)
  10. User space
    • User space runtime environment
    • Basic C lib implementation
    • Kernel system calls
  11. GLibC
    • Adapt glibc for OS
    • Missing system calls implementation
    • Integration with OS
  12. Chromium
    • System libraries implementation
    • Building scripts adaptation
    • Port render backend
    • Port utilities
    • Port main engine part
  13. Additional
    • ACPI
    • HPET (another timer)
    • USB
    • Security (ASLR, DEP)
    • Multiprocessor support (SMP)
    • PCI
    • Plug-and-Play
    • 802.11 (WiFi)