diff --git a/src/development/design/README.md b/src/development/design/README.md index 116276d..52f3373 100644 --- a/src/development/design/README.md +++ b/src/development/design/README.md @@ -44,3 +44,29 @@ Most of the code will be implemented as libraries, enabling for them to be used - [gravitas]() - The library for working with [storage](/development/design/filesystem.md) - [pulsar]() - Networking code - [photon]() - GUI library + +## Overall Design +### Connections +```mermaid +erDiagram + ASM ||--|| KERNEL: runs + KERNEL ||..o{ GRAVITAS: uses + KERNEL }|..o{ METEOR: uses + GRAVITAS }|..o{ HAL: uses + GRAVITAS ||--o{ DISK: IO + KERNEL ||--|{ MEMORY: maps + KERNEL ||--o{ EXE: runs + EXE }|..o{ METEOR: uses + EXE }|..o{ KERNEL: msg +``` + +### Startup Flow +```mermaid +flowchart TD + ASM --> kern(Kernel) + kern --> disk(Read Disk) --> + parse(Parse Configuration) --> run(Run Startup Programs) + parse -.-> sh([Interactive Shell]) + kern --> mem(Map Memory) -.-> parse + run ==> actor([Create Actors]) +```