# akaoperatingsystem/akaos architecture

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

- Interactive diagram: https://gitdiagram.com/akaoperatingsystem/akaos
- Repository: https://github.com/akaoperatingsystem/akaos

## Overview

akaOS is a standalone Unix-like operating system built around XSCore, with native userspace, a freestanding C library, and graphical and command-line environments. The principal path is firmware boot and kernel handoff, followed by kernel services, libc and the dynamic linker, then user applications. Persistent storage, multiple architecture ports, and the graphical stack are distinct capabilities. The README documents the broad architecture; source excerpts provide more specific bootloader and Aurora details. Most kernel and userspace interactions were not sampled, so those relationships are described only where documented or left unconnected.

Main entry points: [`userspace/bin/aurora/main.c`](https://github.com/akaoperatingsystem/akaos/blob/main/userspace/bin/aurora/main.c) (Aurora Shell), [`xscore/kernel/main.c`](https://github.com/akaoperatingsystem/akaos/blob/main/xscore/kernel/main.c) (XSCore Kernel), [`userspace/libc/src`](https://github.com/akaoperatingsystem/akaos/tree/main/userspace/libc/src) (Freestanding libc), [`userspace/bin/lumen/main.c`](https://github.com/akaoperatingsystem/akaos/blob/main/userspace/bin/lumen/main.c) (Lumen Compositor)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_boot["Boot and Architectures"]
  node_uefi_loader["UEFI Loader<br/>[loader.c]"]
  node_arch_ports["Architecture Ports"]
end

subgraph group_kernel["XSCore Kernel"]
  node_kernel_core["XSCore Kernel<br/>[main.c]"]
  node_memory["Memory Management<br/>[virtual.c]"]
  node_storage["Storage and Partitions<br/>[storage.c]"]
  node_vfs["Virtual Filesystem<br/>[vfs.c]"]
  node_syscalls["Syscall ABI<br/>[syscall.c]"]
end

subgraph group_runtime["Userspace Runtime"]
  node_libc["Freestanding libc"]
  node_dynamic_linker["Dynamic Linker<br/>[main.c]"]
end

subgraph group_desktop["Graphical Desktop"]
  node_compositor["Lumen Compositor<br/>[main.c]"]
  node_xserver["X11 Server<br/>[main.c]"]
  node_wayland_bridge["Wayland Bridge<br/>[main.c]"]
  node_aurora["Aurora Shell<br/>[main.c]"]
  node_aurora_launcher["Application Launcher<br/>[launcher.h]"]
  node_aurora_panel["Desktop Panel<br/>[panel.h]"]
  node_aurora_calendar["Calendar Popup<br/>[calendar.h]"]
  node_aurora_network["Network Popup<br/>[network.h]"]
  node_aurora_notifications["Notifications<br/>[notifications.h]"]
  node_aurora_draw["Drawing Helpers<br/>[draw.h]"]
  node_aurora_types["Desktop Data Types<br/>[aurora_types.h]"]
end

subgraph group_apps["Applications"]
  node_shell["Akash Shell<br/>[main.c]"]
  node_cli["CLI Utilities"]
end

node_firmware(("UEFI Firmware"))

node_firmware -->|"starts"| node_uefi_loader
node_uefi_loader -->|"hands off"| node_kernel_core
node_arch_ports -->|"supports"| node_kernel_core
node_kernel_core -->|"provides ABI"| node_syscalls
node_kernel_core -->|"uses paging"| node_memory
node_kernel_core -->|"provides storage"| node_storage
node_kernel_core -->|"provides VFS"| node_vfs
node_storage -->|"backs persistent storage"| node_vfs
node_syscalls -->|"serves syscall ABI"| node_libc
node_libc -->|"supports"| node_shell
node_libc -->|"supports"| node_cli
node_libc -->|"supports"| node_dynamic_linker
node_compositor -->|"hosts desktop shell"| node_aurora
node_aurora -->|"uses"| node_aurora_launcher
node_aurora -->|"uses"| node_aurora_panel
node_aurora -->|"uses"| node_aurora_calendar
node_aurora -->|"uses"| node_aurora_network
node_aurora -->|"uses"| node_aurora_notifications
node_aurora -->|"uses"| node_aurora_draw
node_aurora -->|"uses"| node_aurora_types
node_xserver -.->|"alternative display path"| node_compositor
node_wayland_bridge -.->|"Wayland integration"| node_compositor

click node_uefi_loader "https://github.com/akaoperatingsystem/akaos/blob/main/boot/uefi/loader.c"
click node_arch_ports "https://github.com/akaoperatingsystem/akaos/tree/main/xscore/arch"
click node_kernel_core "https://github.com/akaoperatingsystem/akaos/blob/main/xscore/kernel/main.c"
click node_memory "https://github.com/akaoperatingsystem/akaos/blob/main/xscore/memory/virtual.c"
click node_storage "https://github.com/akaoperatingsystem/akaos/blob/main/xscore/kernel/storage.c"
click node_vfs "https://github.com/akaoperatingsystem/akaos/blob/main/xscore/kernel/vfs.c"
click node_syscalls "https://github.com/akaoperatingsystem/akaos/blob/main/xscore/kernel/syscall.c"
click node_libc "https://github.com/akaoperatingsystem/akaos/tree/main/userspace/libc/src"
click node_dynamic_linker "https://github.com/akaoperatingsystem/akaos/blob/main/userspace/bin/ld-akaos/main.c"
click node_shell "https://github.com/akaoperatingsystem/akaos/blob/main/userspace/bin/akash/main.c"
click node_cli "https://github.com/akaoperatingsystem/akaos/tree/main/userspace/bin"
click node_compositor "https://github.com/akaoperatingsystem/akaos/blob/main/userspace/bin/lumen/main.c"
click node_xserver "https://github.com/akaoperatingsystem/akaos/blob/main/userspace/bin/xserver/main.c"
click node_wayland_bridge "https://github.com/akaoperatingsystem/akaos/blob/main/userspace/bin/wayland-bridge/main.c"
click node_aurora "https://github.com/akaoperatingsystem/akaos/blob/main/userspace/bin/aurora/main.c"
click node_aurora_launcher "https://github.com/akaoperatingsystem/akaos/blob/main/userspace/bin/aurora/modules/launcher.h"
click node_aurora_panel "https://github.com/akaoperatingsystem/akaos/blob/main/userspace/bin/aurora/modules/panel.h"
click node_aurora_calendar "https://github.com/akaoperatingsystem/akaos/blob/main/userspace/bin/aurora/modules/calendar.h"
click node_aurora_network "https://github.com/akaoperatingsystem/akaos/blob/main/userspace/bin/aurora/modules/network.h"
click node_aurora_notifications "https://github.com/akaoperatingsystem/akaos/blob/main/userspace/bin/aurora/modules/notifications.h"
click node_aurora_draw "https://github.com/akaoperatingsystem/akaos/blob/main/userspace/bin/aurora/modules/draw.h"
click node_aurora_types "https://github.com/akaoperatingsystem/akaos/blob/main/userspace/bin/aurora/modules/aurora_types.h"

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_uefi_loader,node_arch_ports toneBlue
class node_kernel_core,node_memory,node_storage,node_vfs,node_syscalls toneAmber
class node_libc,node_dynamic_linker toneMint
class node_compositor,node_xserver,node_wayland_bridge,node_aurora,node_aurora_launcher,node_aurora_panel,node_aurora_calendar,node_aurora_network,node_aurora_notifications,node_aurora_draw,node_aurora_types toneRose
class node_shell,node_cli,node_firmware toneIndigo
```

## Components

### Boot and Architectures

- [UEFI Loader](https://github.com/akaoperatingsystem/akaos/blob/main/boot/uefi/loader.c): `boot/uefi/loader.c`
- [Architecture Ports](https://github.com/akaoperatingsystem/akaos/tree/main/xscore/arch): `xscore/arch`

### XSCore Kernel

- [XSCore Kernel](https://github.com/akaoperatingsystem/akaos/blob/main/xscore/kernel/main.c): `xscore/kernel/main.c`
- [Memory Management](https://github.com/akaoperatingsystem/akaos/blob/main/xscore/memory/virtual.c): `xscore/memory/virtual.c`
- [Storage and Partitions](https://github.com/akaoperatingsystem/akaos/blob/main/xscore/kernel/storage.c): `xscore/kernel/storage.c`
- [Virtual Filesystem](https://github.com/akaoperatingsystem/akaos/blob/main/xscore/kernel/vfs.c): `xscore/kernel/vfs.c`
- [Syscall ABI](https://github.com/akaoperatingsystem/akaos/blob/main/xscore/kernel/syscall.c): `xscore/kernel/syscall.c`

### Userspace Runtime

- [Freestanding libc](https://github.com/akaoperatingsystem/akaos/tree/main/userspace/libc/src): `userspace/libc/src`
- [Dynamic Linker](https://github.com/akaoperatingsystem/akaos/blob/main/userspace/bin/ld-akaos/main.c): `userspace/bin/ld-akaos/main.c`

### Graphical Desktop

- [Lumen Compositor](https://github.com/akaoperatingsystem/akaos/blob/main/userspace/bin/lumen/main.c): `userspace/bin/lumen/main.c`
- [X11 Server](https://github.com/akaoperatingsystem/akaos/blob/main/userspace/bin/xserver/main.c): `userspace/bin/xserver/main.c`
- [Wayland Bridge](https://github.com/akaoperatingsystem/akaos/blob/main/userspace/bin/wayland-bridge/main.c): `userspace/bin/wayland-bridge/main.c`
- [Aurora Shell](https://github.com/akaoperatingsystem/akaos/blob/main/userspace/bin/aurora/main.c): `userspace/bin/aurora/main.c`
- [Application Launcher](https://github.com/akaoperatingsystem/akaos/blob/main/userspace/bin/aurora/modules/launcher.h): `userspace/bin/aurora/modules/launcher.h`
- [Desktop Panel](https://github.com/akaoperatingsystem/akaos/blob/main/userspace/bin/aurora/modules/panel.h): `userspace/bin/aurora/modules/panel.h`
- [Calendar Popup](https://github.com/akaoperatingsystem/akaos/blob/main/userspace/bin/aurora/modules/calendar.h): `userspace/bin/aurora/modules/calendar.h`
- [Network Popup](https://github.com/akaoperatingsystem/akaos/blob/main/userspace/bin/aurora/modules/network.h): `userspace/bin/aurora/modules/network.h`
- [Notifications](https://github.com/akaoperatingsystem/akaos/blob/main/userspace/bin/aurora/modules/notifications.h): `userspace/bin/aurora/modules/notifications.h`
- [Drawing Helpers](https://github.com/akaoperatingsystem/akaos/blob/main/userspace/bin/aurora/modules/draw.h): `userspace/bin/aurora/modules/draw.h`
- [Desktop Data Types](https://github.com/akaoperatingsystem/akaos/blob/main/userspace/bin/aurora/modules/aurora_types.h): `userspace/bin/aurora/modules/aurora_types.h`

### Applications

- [Akash Shell](https://github.com/akaoperatingsystem/akaos/blob/main/userspace/bin/akash/main.c): `userspace/bin/akash/main.c`
- [CLI Utilities](https://github.com/akaoperatingsystem/akaos/tree/main/userspace/bin): `userspace/bin`

### Other components

- **UEFI Firmware**

## Connections

- UEFI Firmware → UEFI Loader: starts (evidence: `README.md`)
- UEFI Loader → XSCore Kernel: hands off (evidence: `README.md`)
- Architecture Ports → XSCore Kernel: supports (evidence: `README.md`)
- XSCore Kernel → Syscall ABI: provides ABI (evidence: `README.md`)
- XSCore Kernel → Memory Management: uses paging (evidence: `README.md`)
- XSCore Kernel → Storage and Partitions: provides storage (evidence: `README.md`)
- XSCore Kernel → Virtual Filesystem: provides VFS (evidence: `README.md`)
- Storage and Partitions → Virtual Filesystem: backs persistent storage (evidence: `README.md`)
- Syscall ABI → Freestanding libc: serves syscall ABI (evidence: `README.md`)
- Freestanding libc → Akash Shell: supports (evidence: `README.md`)
- Freestanding libc → CLI Utilities: supports (evidence: `README.md`)
- Freestanding libc → Dynamic Linker: supports (evidence: `README.md`)
- Lumen Compositor → Aurora Shell: hosts desktop shell (evidence: `README.md`)
- Aurora Shell → Application Launcher: uses (evidence: `userspace/bin/aurora/main.c`)
- Aurora Shell → Desktop Panel: uses (evidence: `userspace/bin/aurora/main.c`)
- Aurora Shell → Calendar Popup: uses (evidence: `userspace/bin/aurora/main.c`)
- Aurora Shell → Network Popup: uses (evidence: `userspace/bin/aurora/main.c`)
- Aurora Shell → Notifications: uses (evidence: `userspace/bin/aurora/main.c`)
- Aurora Shell → Drawing Helpers: uses (evidence: `userspace/bin/aurora/main.c`)
- Aurora Shell → Desktop Data Types: uses (evidence: `userspace/bin/aurora/main.c`)
- X11 Server → Lumen Compositor: alternative display path (evidence: `README.md`)
- Wayland Bridge → Lumen Compositor: Wayland integration (evidence: `README.md`)
