Update README.md
This commit is contained in:
75
README.md
75
README.md
@@ -103,51 +103,50 @@ make run KARCH=aarch64
|
|||||||
|
|
||||||
## Current Functionality
|
## Current Functionality
|
||||||
|
|
||||||
| Component | Status | Description |
|
| Component | Status | Description |
|
||||||
| -------------------- | ------- | -------------------------- |
|
| --- | --- | --- |
|
||||||
| Limine Bootloader | ✅ Done | BIOS/UEFI support |
|
| Limine Bootloader | ✅ Done | BIOS/UEFI support |
|
||||||
| Physical MM (Bitmap) | ✅ Done | Page bitmap |
|
| Physical MM (Bitmap) | ✅ Done | Initial physical frame management |
|
||||||
| Page Tables (x86_64) | ✅ Done | 4-level addressing |
|
| Page Tables (x86_64) | ✅ Done | 4-level paging, HHDM support |
|
||||||
| Global Allocator | ✅ Done | Bump allocator (8MB) |
|
| Kernel Heap | ✅ Done | Slab Allocator (8MB) |
|
||||||
| Framebuffer | ✅ Done | Graphical output |
|
| Framebuffer/Console | ✅ Done | Graphical output with font rendering |
|
||||||
| Console | ✅ Done | Text output with scrolling |
|
| PMActor Subsystem | ✅ Done | Distributed memory ownership model |
|
||||||
|
| PMRouter | ✅ Done | Lock-free MPSC response routing |
|
||||||
|
| Capability Model | ✅ Done | Base `CNode` & `Capability` primitives |
|
||||||
|
|
||||||
## Memory System Development Status
|
## Memory System Development Status
|
||||||
|
|
||||||
| Task | Status | Note |
|
| Task | Status | Note |
|
||||||
| --------------------------- | -------------- | ----------------------- |
|
| --- | --- | --- |
|
||||||
| **Basic initialization** | ✅ Ready | Limine, MMU, PMM |
|
| **Basic Initialization** | ✅ Ready | Boot, MMU, IDT, PMM |
|
||||||
| **Physical allocator** | ✅ Ready | BitmapPMM working |
|
| **Buddy Allocator** | ✅ Ready | Efficient per-actor memory carving |
|
||||||
| **Paging** | ✅ Ready | P4->P1 mapping |
|
| **Async PM Messaging** | ✅ Ready | Actor-based allocation requests |
|
||||||
| **Global heap** | ✅ Ready | 8MB bump allocator |
|
| **Lock-free Routing** | ✅ Ready | Zero-copy response dispatching |
|
||||||
| **Descriptor memory model** | ⏳ Not Started | Planned |
|
| **Descriptor Model** | ⏳ In Progress | `MemoryObject` & refcounting logic |
|
||||||
| **Processes and spaces** | ⏳ Not Started | No IPC |
|
| **Process Isolation** | ⏳ Not Started | Address space cloning/switching |
|
||||||
| **Memory syscalls** | ⏳ Not Started | allocate/clone/transfer |
|
| **Memory Syscalls** | ⏳ Not Started | `allocate`, `transfer`, `grant` |
|
||||||
| **Weak references** | ⏳ Not Started | borrow/release |
|
| **Weak References** | ⏳ Not Started | `borrow`/`release` for capabilities |
|
||||||
| **Process auto-cleanup** | ⏳ Not Started | On exit |
|
|
||||||
|
|
||||||
## Development Plan (TODO)
|
## Development Plan (TODO)
|
||||||
|
|
||||||
| # | Task | Subtasks | Priority | Dependencies |
|
| # | Task | Subtasks | Priority | Dependencies |
|
||||||
|---|------|----------|----------|--------------|
|
| --- | --- | --- | --- | --- |
|
||||||
| 1 | **Descriptor memory model** | | High | PMM, VMM |
|
| 1 | **Capabilities System** | | High | PMActor |
|
||||||
| | | 1.1. `MemoryObject` structure | | |
|
| | | 1.1. Capability refcounting | | |
|
||||||
| | | 1.2. Descriptor table per process | | |
|
| | | 1.2. Inter-process delegation | | |
|
||||||
| | | 1.3. Refcounting (strong/weak) | | |
|
| 2 | **Process Management** | | High | Capabilities |
|
||||||
| | | 1.4. Syscalls: `allocate`, `clone` | | |
|
| | | 2.1. PCB & Context switching | | |
|
||||||
| 2 | **Processes** | | High | Descriptors |
|
| | | 2.2. Address Space isolation | | |
|
||||||
| | | 2.1. PCB structure | | |
|
| | | 2.3. Auto-cleanup on exit | | |
|
||||||
| | | 2.2. Descriptor Table per process | | |
|
| 3 | **Syscalls API** | | Medium | Processes |
|
||||||
| | | 2.3. Auto-cleanup on exit | | |
|
| | | 3.1. `transfer(desc, target)` | | |
|
||||||
| 3 | **Syscalls API** | | Medium | Processes |
|
| | | 3.2. `mint(desc)` (delegation) | | |
|
||||||
| | | 3.1. `transfer(desc, target)` | | |
|
| 4 | **Advanced MMU** | | Medium | Syscalls |
|
||||||
| | | 3.2. `borrow(desc, duration)` | | |
|
| | | 4.1. Lazy paging / Copy-on-Write | | |
|
||||||
| | | 3.3. `release(desc)` | | |
|
| | | 4.2. TLB Shootdown (SMP support) | | |
|
||||||
| 4 | **MMU Integration** | | Medium | Syscalls |
|
| 5 | **Security/Hardening** | | Low | All above |
|
||||||
| | | 4.1. Page table per process | | |
|
| | | 5.1. Circular ref detection | | |
|
||||||
| | | 4.2. Mapping by descriptors | | |
|
| | | 5.2. Capability revocation depth | | |
|
||||||
| | | 4.3. Unmapping on release | | |
|
|
||||||
| 5 | **Circular references** | | Low | All above |
|
|
||||||
|
|
||||||
## Debugging
|
## Debugging
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user