How cosmosos/cosmos works
Cosmos gen3 is a bare-metal C# kernel framework: a developer builds a kernel that boots through Limine, initializes its runtime and architecture-specific hardware support, then provides OS services and device capabilities. The graph emphasizes those runtime stages and documented features, with the driver engine and storage-to-filesystem path as internal layers. README statements support the broad capability links; sampled source supports only selected implementation relationships, so unsampled subsystem links are omitted rather than inferred.
Main entry points: Cosmos.Kernel Cosmos kernel · Runtime .NET runtime · InterruptManager.cs Interrupt manager · DriverEngine.cs Driver engine
Components 22
Boot and Runtime
- Cosmos kernel
src/Cosmos.Kernel - Limine boot
src/Cosmos.Kernel.Boot.Limine - .NET runtime
src/Cosmos.Kernel.Core/Runtime - Garbage collector
src/Cosmos.Kernel.Core/Memory/GarbageCollector/GarbageCollector.cs - Stride scheduler
src/Cosmos.Kernel.Core/Scheduler/SchedulerManager.cs - Plug system
src/Cosmos.Kernel.Plugs
CPU and Platform
- Interrupt manager
src/Cosmos.Kernel.Core/CPU/InterruptManager.cs - x64 support
src/Cosmos.Kernel.Core.X64 - ARM64 support
src/Cosmos.Kernel.Core.ARM64 - UART serial
src/Cosmos.Kernel.Core/IO/Serial.cs
Drivers and Devices
- Driver engine
src/Cosmos.Kernel.HAL/DriverKit/Engine/DriverEngine.cs - PCI drivers
src/Cosmos.Kernel.Drivers/Pci - USB mass storage
src/Cosmos.Kernel.Drivers/Usb/Storage/UsbMassStorage/UsbMassStorageUnit.cs
Kernel Services
- Storage manager
src/Cosmos.Kernel.System/Storage/StorageManager.cs - Virtual filesystem
src/Cosmos.Kernel.System/FileSystem/VfsManager.cs - Filesystem formats
src/Cosmos.Kernel.System/FileSystem - Graphics subsystem
src/Cosmos.Kernel.System/Graphics/DisplayManager.cs - Keyboard and mouse
src/Cosmos.Kernel.System/Input - Network stack
src/Cosmos.Kernel.System/Network/NetworkManager.cs - Timer services
src/Cosmos.Kernel.System/Timers/TimerManager.cs
Other components
- Kernel developer
- Bootable kernel
Connections 23
- Kernel developer → Cosmos kernel: builds with NativeAOT
README.md - Cosmos kernel → Limine boot: boots through
README.md - Limine boot → .NET runtime: enters runtime
- .NET runtime → Garbage collector: uses
README.md - .NET runtime → Stride scheduler: uses
README.md - Cosmos kernel → Plug system: integrates
README.md - Cosmos kernel → x64 support: targets x64
README.md - Cosmos kernel → ARM64 support: targets ARM64
README.md - Cosmos kernel → Interrupt manager: supports interrupts
README.md - Interrupt manager → x64 support: uses APIC
README.md - Interrupt manager → ARM64 support: uses GIC
README.md - Cosmos kernel → UART serial: supports UART
README.md - Cosmos kernel → Driver engine: manages device drivers
- Driver engine → PCI drivers: dispatches devices
src/Cosmos.Kernel.HAL/DriverKit/Engine/DriverEngine.cs - Driver engine → USB mass storage: dispatches devices
- USB mass storage → Storage manager: publishes block device
- Storage manager → Virtual filesystem: provides partitions
src/Cosmos.Kernel.System/Storage/StorageManager.cs - Virtual filesystem → Filesystem formats: mounts formats
README.md - Cosmos kernel → Graphics subsystem: provides graphics
README.md - Cosmos kernel → Keyboard and mouse: provides input
README.md - Cosmos kernel → Network stack: provides networking
README.md - Cosmos kernel → Timer services: provides timers
README.md - Cosmos kernel → Bootable kernel: produces bootable ELF
README.md