Skip to content

Commit a2ccd8c

Browse files
committed
docs: render architecture diagram as mermaid graph (cleaner than ASCII art)
1 parent 2d9c53f commit a2ccd8c

1 file changed

Lines changed: 38 additions & 43 deletions

File tree

website/architecture/overview.md

Lines changed: 38 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -2,49 +2,44 @@
22

33
## High-Level Components
44

5-
```
6-
┌─────────────────────────────────────────────────────────────┐
7-
│ Boot Loader │
8-
│ (GRUB → kernel.asm) │
9-
└──────────────────────────┬──────────────────────────────────┘
10-
11-
┌──────────────────────────▼──────────────────────────────────┐
12-
│ Kernel │
13-
│ ┌─────────────┐ ┌─────────────┐ ┌─────────────────────┐ │
14-
│ │ Scheduler │ │ Memory Mgmt│ │ Interrupt Handling │ │
15-
│ │ (Isolate) │ │ (def/GC) │ │ (IDT, PIC, APIC) │ │
16-
│ └─────────────┘ └─────────────┘ └─────────────────────┘ │
17-
└──────────────────────────┬──────────────────────────────────┘
18-
19-
┌──────────────────────────▼──────────────────────────────────┐
20-
│ VmImpl (JVM) │
21-
│ ┌─────────────┐ ┌─────────────┐ ┌─────────────────────┐ │
22-
│ │ Classloader│ │ JIT Compiler│ │ VM Magic / Unsafe │ │
23-
│ │ (Plugin) │ │ (L1a/L1b/L2)│ │ (VMMagic annos) │ │
24-
│ └─────────────┘ └─────────────┘ └─────────────────────┘ │
25-
└──────────────────────────┬──────────────────────────────────┘
26-
27-
┌──────────────────────────▼──────────────────────────────────┐
28-
│ Plugin System │
29-
│ PluginDescriptor → PluginManager → Extension Points │
30-
└──────────────────────────┬──────────────────────────────────┘
31-
32-
┌──────────────────┼──────────────────┐
33-
▼ ▼ ▼
34-
┌───────────────┐ ┌───────────────┐ ┌───────────────┐
35-
│ Core Services│ │ Drivers │ │ Filesystems │
36-
│ (Naming, │ │ (PCI, USB, │ │ (Ext2, FAT, │
37-
│ Security, │ │ IDE, Net, │ │ ISO9660, │
38-
│ Logging) │ │ Video) │ │ NFS, NTFS) │
39-
└───────────────┘ └───────────────┘ └───────────────┘
40-
│ │ │
41-
▼ ▼ ▼
42-
┌───────────────┐ ┌───────────────┐ ┌───────────────┐
43-
│ Network Stack│ │ Shell │ │ GUI/AWT │
44-
│ (IPv4, TCP, │ │ (Commands, │ │ (Video, │
45-
│ UDP, DNS) │ │ Aliases, │ │ Input, │
46-
│ │ │ Plugins) │ │ Thinlet) │
47-
└───────────────┘ └───────────────┘ └───────────────┘
5+
```mermaid
6+
graph TD
7+
subgraph Boot ("Boot")
8+
BL["Boot Loader (GRUB → kernel.asm)"]
9+
end
10+
subgraph Kernel ("Kernel")
11+
direction TB
12+
KSched["Scheduler (Isolate)"]
13+
KMem["Memory Mgmt (def/GC)"]
14+
KIntr["Interrupt Handling (IDT, PIC, APIC)"]
15+
KSched --> KMem --> KIntr
16+
end
17+
subgraph VM ("VmImpl (JVM)")
18+
VMLoader["Classloader (Plugin)"]
19+
VMJIT["JIT Compiler (L1a/L1b/L2)"]
20+
VMSafe["VM Magic / Unsafe (VMMagic annos)"]
21+
end
22+
PS["Plugin System<br/>PluginDescriptor → PluginManager → Extension Points"]
23+
CS["Core Services<br/>Naming, Security, Logging"]
24+
DRV["Drivers<br/>PCI, USB, IDE, Net, Video"]
25+
FS["Filesystems<br/>Ext2, FAT, ISO9660, NFS, NTFS"]
26+
NS["Network Stack<br/>IPv4, TCP, UDP, DNS"]
27+
SH["Shell<br/>Commands, Aliases, Plugins"]
28+
GUI["GUI / AWT<br/>Video, Input, Thinlet"]
29+
30+
BL --> Kernel
31+
Kernel --> VM
32+
VM --> PS
33+
PS ==> CS
34+
PS ==> DRV
35+
PS ==> FS
36+
CS --> NS
37+
CS --> SH
38+
CS --> GUI
39+
40+
linkStyle 0 stroke:#999
41+
classDef box fill:#f4f4f4,stroke:#999,stroke-width:1px
42+
class BL,KSched,KMem,KIntr,VMLoader,VMJIT,VMSafe,PS,CS,DRV,FS,NS,SH,GUI box
4843
```
4944

5045
## Key Design Principles

0 commit comments

Comments
 (0)