# likesprogram/likesprogramos architecture

> Architecture diagram of the GitHub repository likesprogram/likesprogramos, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-10-26). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/likesprogram/likesprogramos
- Repository: https://github.com/likesprogram/likesprogramos

## Overview

LikesProgramOS is an x86_64 operating-system project whose implemented product path spans BIOS/UEFI boot, verified kernel and boot-closure handoff, kernel initialization, and module loading. The README documents the major stages and boundaries; sampled source additionally shows handoff validation and representative AHCI, NVMe, xHCI, and USB-core behavior. The graph keeps BIOS and UEFI entry paths distinct and represents the documented boot-closure and runtime-module split. Some internal links are based on README descriptions rather than sampled call sites.

Main entry points: [`Packages/LikesProgramOS/Core/Src/ModuleLoader.cpp`](https://github.com/likesprogram/likesprogramos/blob/main/Packages/LikesProgramOS/Core/Src/ModuleLoader.cpp) (Module loading), [`Packages/Baleen/Uefi/Src/BootX64.cpp`](https://github.com/likesprogram/likesprogramos/blob/main/Packages/Baleen/Uefi/Src/BootX64.cpp) (UEFI loader), [`Packages/Baleen/Core/Src/Core.cpp`](https://github.com/likesprogram/likesprogramos/blob/main/Packages/Baleen/Core/Src/Core.cpp) (BIOS BaleenCore), [`Packages/LikesProgramOS/Core/Src/Core.cpp`](https://github.com/likesprogram/likesprogramos/blob/main/Packages/LikesProgramOS/Core/Src/Core.cpp) (Kernel startup)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_boot["Firmware boot"]
  node_stub["BIOS Stub<br/>[LoadCore.cpp]"]
  node_uefi["UEFI loader<br/>[BootX64.cpp]"]
end

subgraph group_baleen["Baleen loader"]
  node_bios["BIOS BaleenCore<br/>[Core.cpp]"]
  node_selection["Set selection<br/>[SelectSet.cpp]"]
  node_manifest["Manifest verification<br/>[ManifestVerify.cpp]"]
  node_bootstorage["Boot storage / Ext4<br/>[Ext4.cpp]"]
  node_kernelimage["Kernel image loading<br/>[LoadKernel.cpp]"]
  node_handoff["BootInfo handoff<br/>[BootInfo.hpp]"]
end

subgraph group_kernel["Kernel core"]
  node_kernel["Kernel startup<br/>[Core.cpp]"]
  node_handoffcheck["Handoff validation<br/>[Handoff.cpp]"]
  node_moduleloader["Module loading<br/>[ModuleLoader.cpp]"]
end

subgraph group_drivers["Device modules"]
  node_devmodel["Device model<br/>[DeviceModel.cpp]"]
  node_driverloader["Driver registry<br/>[DriverRegistry.cpp]"]
  node_ahci["AHCI driver<br/>[Ahci.cpp]"]
  node_atapi["ATA PIO driver<br/>[AtaPio.cpp]"]
  node_nvme["NVMe driver<br/>[Nvme.cpp]"]
  node_xhci["xHCI driver<br/>[Xhci.cpp]"]
  node_usbcore["USB host core<br/>[UsbCore.cpp]"]
  node_usbstorage["USB storage<br/>[Module.cpp]"]
end

subgraph group_filesystems["Storage modules"]
  node_vfs["Virtual filesystem<br/>[Vfs.cpp]"]
  node_ext4["Ext4 module<br/>[Ext4Volume.cpp]"]
  node_iso["ISO9660 module<br/>[Iso9660Volume.cpp]"]
  node_fat32["FAT32 module<br/>[Fat32Volume.cpp]"]
end

node_firmware(("BIOS / UEFI"))

node_firmware -->|"starts BIOS"| node_stub
node_stub -->|"loads core"| node_bios
node_firmware -->|"starts loader"| node_uefi
node_bios -->|"selects set"| node_selection
node_uefi -->|"selects set"| node_selection
node_selection -->|"verifies set"| node_manifest
node_bios -->|"mounts system volume"| node_bootstorage
node_uefi -->|"mounts system volume"| node_bootstorage
node_manifest -->|"authorizes image"| node_kernelimage
node_bios -->|"loads kernel"| node_kernelimage
node_uefi -->|"loads kernel"| node_kernelimage
node_kernelimage -->|"provides boot data"| node_handoff
node_bios -->|"passes boot data"| node_handoff
node_uefi -->|"passes boot data"| node_handoff
node_handoff -->|"enters kernel"| node_kernel
node_kernel -->|"validates handoff"| node_handoffcheck
node_kernel -->|"orchestrates loading"| node_moduleloader
node_moduleloader -->|"initializes closure"| node_devmodel
node_moduleloader -->|"initializes closure"| node_driverloader
node_moduleloader -->|"preloads driver"| node_ahci
node_moduleloader -->|"preloads driver"| node_atapi
node_moduleloader -->|"preloads driver"| node_nvme
node_moduleloader -->|"preloads driver"| node_xhci
node_moduleloader -->|"preloads core"| node_usbcore
node_moduleloader -->|"preloads driver"| node_usbstorage
node_moduleloader -->|"preloads filesystem"| node_vfs
node_moduleloader -->|"preloads filesystem"| node_ext4
node_moduleloader -->|"preloads filesystem"| node_iso
node_moduleloader -->|"preloads filesystem"| node_fat32
node_kernel -->|"mounts system volume"| node_bootstorage
node_kernel -->|"loads runtime modules"| node_moduleloader

click node_stub "https://github.com/likesprogram/likesprogramos/blob/main/Packages/Baleen/Stub/Src/LoadCore.cpp"
click node_bios "https://github.com/likesprogram/likesprogramos/blob/main/Packages/Baleen/Core/Src/Core.cpp"
click node_uefi "https://github.com/likesprogram/likesprogramos/blob/main/Packages/Baleen/Uefi/Src/BootX64.cpp"
click node_selection "https://github.com/likesprogram/likesprogramos/blob/main/Packages/Baleen/Core/Src/SelectSet.cpp"
click node_manifest "https://github.com/likesprogram/likesprogramos/blob/main/Packages/Baleen/Core/Src/ManifestVerify.cpp"
click node_bootstorage "https://github.com/likesprogram/likesprogramos/blob/main/Packages/Baleen/Core/Src/Ext4.cpp"
click node_kernelimage "https://github.com/likesprogram/likesprogramos/blob/main/Packages/Baleen/Core/Src/LoadKernel.cpp"
click node_handoff "https://github.com/likesprogram/likesprogramos/blob/main/Packages/Common/Include/BootInfo.hpp"
click node_kernel "https://github.com/likesprogram/likesprogramos/blob/main/Packages/LikesProgramOS/Core/Src/Core.cpp"
click node_handoffcheck "https://github.com/likesprogram/likesprogramos/blob/main/Packages/LikesProgramOS/Core/Src/Handoff.cpp"
click node_moduleloader "https://github.com/likesprogram/likesprogramos/blob/main/Packages/LikesProgramOS/Core/Src/ModuleLoader.cpp"
click node_devmodel "https://github.com/likesprogram/likesprogramos/blob/main/Packages/KernelModules/DevModel/Src/DeviceModel.cpp"
click node_driverloader "https://github.com/likesprogram/likesprogramos/blob/main/Packages/KernelModules/DriverLoader/Src/DriverRegistry.cpp"
click node_ahci "https://github.com/likesprogram/likesprogramos/blob/main/Packages/KernelModules/Ahci/Src/Ahci.cpp"
click node_atapi "https://github.com/likesprogram/likesprogramos/blob/main/Packages/KernelModules/AtaPio/Src/AtaPio.cpp"
click node_nvme "https://github.com/likesprogram/likesprogramos/blob/main/Packages/KernelModules/Nvme/Src/Nvme.cpp"
click node_xhci "https://github.com/likesprogram/likesprogramos/blob/main/Packages/KernelModules/Xhci/Src/Xhci.cpp"
click node_usbcore "https://github.com/likesprogram/likesprogramos/blob/main/Packages/KernelModules/UsbCore/Src/UsbCore.cpp"
click node_usbstorage "https://github.com/likesprogram/likesprogramos/blob/main/Packages/KernelModules/UsbStorage/Src/Module.cpp"
click node_vfs "https://github.com/likesprogram/likesprogramos/blob/main/Packages/KernelModules/Vfs/Src/Vfs.cpp"
click node_ext4 "https://github.com/likesprogram/likesprogramos/blob/main/Packages/KernelModules/Ext4/Src/Ext4Volume.cpp"
click node_iso "https://github.com/likesprogram/likesprogramos/blob/main/Packages/KernelModules/ISO9660/Src/Iso9660Volume.cpp"
click node_fat32 "https://github.com/likesprogram/likesprogramos/blob/main/Packages/KernelModules/FAT32File/Src/Fat32Volume.cpp"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_stub,node_uefi toneBlue
class node_bios,node_selection,node_manifest,node_bootstorage,node_kernelimage,node_handoff toneAmber
class node_kernel,node_handoffcheck,node_moduleloader toneMint
class node_devmodel,node_driverloader,node_ahci,node_atapi,node_nvme,node_xhci,node_usbcore,node_usbstorage toneRose
class node_vfs,node_ext4,node_iso,node_fat32,node_firmware toneIndigo
```

## Components

### Firmware boot

- [BIOS Stub](https://github.com/likesprogram/likesprogramos/blob/main/Packages/Baleen/Stub/Src/LoadCore.cpp): `Packages/Baleen/Stub/Src/LoadCore.cpp`
- [UEFI loader](https://github.com/likesprogram/likesprogramos/blob/main/Packages/Baleen/Uefi/Src/BootX64.cpp): `Packages/Baleen/Uefi/Src/BootX64.cpp`

### Baleen loader

- [BIOS BaleenCore](https://github.com/likesprogram/likesprogramos/blob/main/Packages/Baleen/Core/Src/Core.cpp): `Packages/Baleen/Core/Src/Core.cpp`
- [Set selection](https://github.com/likesprogram/likesprogramos/blob/main/Packages/Baleen/Core/Src/SelectSet.cpp): `Packages/Baleen/Core/Src/SelectSet.cpp`
- [Manifest verification](https://github.com/likesprogram/likesprogramos/blob/main/Packages/Baleen/Core/Src/ManifestVerify.cpp): `Packages/Baleen/Core/Src/ManifestVerify.cpp`
- [Boot storage / Ext4](https://github.com/likesprogram/likesprogramos/blob/main/Packages/Baleen/Core/Src/Ext4.cpp): `Packages/Baleen/Core/Src/Ext4.cpp`
- [Kernel image loading](https://github.com/likesprogram/likesprogramos/blob/main/Packages/Baleen/Core/Src/LoadKernel.cpp): `Packages/Baleen/Core/Src/LoadKernel.cpp`
- [BootInfo handoff](https://github.com/likesprogram/likesprogramos/blob/main/Packages/Common/Include/BootInfo.hpp): `Packages/Common/Include/BootInfo.hpp`

### Kernel core

- [Kernel startup](https://github.com/likesprogram/likesprogramos/blob/main/Packages/LikesProgramOS/Core/Src/Core.cpp): `Packages/LikesProgramOS/Core/Src/Core.cpp`
- [Handoff validation](https://github.com/likesprogram/likesprogramos/blob/main/Packages/LikesProgramOS/Core/Src/Handoff.cpp): `Packages/LikesProgramOS/Core/Src/Handoff.cpp`
- [Module loading](https://github.com/likesprogram/likesprogramos/blob/main/Packages/LikesProgramOS/Core/Src/ModuleLoader.cpp): `Packages/LikesProgramOS/Core/Src/ModuleLoader.cpp`

### Device modules

- [Device model](https://github.com/likesprogram/likesprogramos/blob/main/Packages/KernelModules/DevModel/Src/DeviceModel.cpp): `Packages/KernelModules/DevModel/Src/DeviceModel.cpp`
- [Driver registry](https://github.com/likesprogram/likesprogramos/blob/main/Packages/KernelModules/DriverLoader/Src/DriverRegistry.cpp): `Packages/KernelModules/DriverLoader/Src/DriverRegistry.cpp`
- [AHCI driver](https://github.com/likesprogram/likesprogramos/blob/main/Packages/KernelModules/Ahci/Src/Ahci.cpp): `Packages/KernelModules/Ahci/Src/Ahci.cpp`
- [ATA PIO driver](https://github.com/likesprogram/likesprogramos/blob/main/Packages/KernelModules/AtaPio/Src/AtaPio.cpp): `Packages/KernelModules/AtaPio/Src/AtaPio.cpp`
- [NVMe driver](https://github.com/likesprogram/likesprogramos/blob/main/Packages/KernelModules/Nvme/Src/Nvme.cpp): `Packages/KernelModules/Nvme/Src/Nvme.cpp`
- [xHCI driver](https://github.com/likesprogram/likesprogramos/blob/main/Packages/KernelModules/Xhci/Src/Xhci.cpp): `Packages/KernelModules/Xhci/Src/Xhci.cpp`
- [USB host core](https://github.com/likesprogram/likesprogramos/blob/main/Packages/KernelModules/UsbCore/Src/UsbCore.cpp): `Packages/KernelModules/UsbCore/Src/UsbCore.cpp`
- [USB storage](https://github.com/likesprogram/likesprogramos/blob/main/Packages/KernelModules/UsbStorage/Src/Module.cpp): `Packages/KernelModules/UsbStorage/Src/Module.cpp`

### Storage modules

- [Virtual filesystem](https://github.com/likesprogram/likesprogramos/blob/main/Packages/KernelModules/Vfs/Src/Vfs.cpp): `Packages/KernelModules/Vfs/Src/Vfs.cpp`
- [Ext4 module](https://github.com/likesprogram/likesprogramos/blob/main/Packages/KernelModules/Ext4/Src/Ext4Volume.cpp): `Packages/KernelModules/Ext4/Src/Ext4Volume.cpp`
- [ISO9660 module](https://github.com/likesprogram/likesprogramos/blob/main/Packages/KernelModules/ISO9660/Src/Iso9660Volume.cpp): `Packages/KernelModules/ISO9660/Src/Iso9660Volume.cpp`
- [FAT32 module](https://github.com/likesprogram/likesprogramos/blob/main/Packages/KernelModules/FAT32File/Src/Fat32Volume.cpp): `Packages/KernelModules/FAT32File/Src/Fat32Volume.cpp`

### Other components

- **BIOS / UEFI**

## Connections

- BIOS / UEFI → BIOS Stub: starts BIOS (evidence: `README.md`)
- BIOS Stub → BIOS BaleenCore: loads core (evidence: `README.md`)
- BIOS / UEFI → UEFI loader: starts loader (evidence: `README.md`)
- BIOS BaleenCore → Set selection: selects set (evidence: `README.md`)
- UEFI loader → Set selection: selects set (evidence: `README.md`)
- Set selection → Manifest verification: verifies set (evidence: `README.md`)
- BIOS BaleenCore → Boot storage / Ext4: mounts system volume (evidence: `README.md`)
- UEFI loader → Boot storage / Ext4: mounts system volume (evidence: `README.md`)
- Manifest verification → Kernel image loading: authorizes image (evidence: `README.md`)
- BIOS BaleenCore → Kernel image loading: loads kernel (evidence: `README.md`)
- UEFI loader → Kernel image loading: loads kernel (evidence: `README.md`)
- Kernel image loading → BootInfo handoff: provides boot data (evidence: `README.md`)
- BIOS BaleenCore → BootInfo handoff: passes boot data (evidence: `README.md`)
- UEFI loader → BootInfo handoff: passes boot data (evidence: `README.md`)
- BootInfo handoff → Kernel startup: enters kernel (evidence: `README.md`)
- Kernel startup → Handoff validation: validates handoff (evidence: `Packages/LikesProgramOS/Core/Src/Core.cpp`)
- Kernel startup → Module loading: orchestrates loading (evidence: `README.md`)
- Module loading → Device model: initializes closure (evidence: `README.md`)
- Module loading → Driver registry: initializes closure (evidence: `README.md`)
- Module loading → AHCI driver: preloads driver (evidence: `README.md`)
- Module loading → ATA PIO driver: preloads driver (evidence: `README.md`)
- Module loading → NVMe driver: preloads driver (evidence: `README.md`)
- Module loading → xHCI driver: preloads driver (evidence: `README.md`)
- Module loading → USB host core: preloads core (evidence: `README.md`)
- Module loading → USB storage: preloads driver (evidence: `README.md`)
- Module loading → Virtual filesystem: preloads filesystem (evidence: `README.md`)
- Module loading → Ext4 module: preloads filesystem (evidence: `README.md`)
- Module loading → ISO9660 module: preloads filesystem (evidence: `README.md`)
- Module loading → FAT32 module: preloads filesystem (evidence: `README.md`)
- Kernel startup → Boot storage / Ext4: mounts system volume (evidence: `README.md`)
- Kernel startup → Module loading: loads runtime modules (evidence: `README.md`)
