Skip to content

Latest commit

 

History

History
113 lines (108 loc) · 2.44 KB

File metadata and controls

113 lines (108 loc) · 2.44 KB

BeskarOS Kernel

BeskarOS is a basic kernel for the x86_64 architecture.

Architecture

The kernel is a monolithic x86_64 kernel written in pure Rust (with the exception of a single x86 ASM file for bootstrapping APs). I am not planning on writing a Linux-like kernel, as I am mainly focusing on learning the basics.

Features

  • Arch
    • aarch64
    • x86_64
      • AP startup
      • APIC
        • LAPIC
        • IOAPIC
      • CPUID
      • SIMD
        • AVX
        • FPU/SSE
      • GDT/TSS
      • Interrupts
      • Randomness
      • Systemcalls
  • Drivers
    • ACPI
      • DSDT (partial)
        • Minimal AML (_S5)
        • Full AML
      • FADT (partial)
      • HPET
      • MADT
      • MCFG
      • RSDT/XSDT
    • NIC
      • Intel e1000e
    • PCI
      • PCI/PCI-X
        • MSI
      • PCIe
        • MSI-X
      • Devices
    • PS/2
      • Keyboard
      • Mouse
    • Storage
      • AHCI
      • NVMe
    • Time
      • HPET
      • x86_64
        • APIC Timer
        • TSC
    • USB
      • Controllers
        • EHCI
        • xHCI (partial)
      • USB
        • USB 2
        • USB 3
      • Devices
        • Generic Keyboard
  • Memory
    • Paging
    • Physical/Virtual Allocators
    • Address spaces / VMM
  • Network
    • Network stack
      • L2
        • Ethernet
      • L3
        • ARP
        • IP
          • IPv4
          • IPv6
      • L4
        • ICMP
        • UDP
        • TCP
    • Services
      • DHCP
      • DNS
      • Sockets
  • Processes
    • Scheduling
      • Context save/switch
      • Priority handling
      • Thread parking
      • Futexes
    • User space
    • Binary loading
      • ELF
    • IPC
      • Message Passing
      • Shared Memory
  • Storage
    • Partitions
      • MBR
      • GPT
    • FS
      • Device files
      • Ramfs
      • FAT12/16/32
      • ext2
      • ext4
    • VFS
  • Video
    • Character rendering
    • Logging
    • Graphics API
    • GPU drivers (🤠)