Update README.md

This commit is contained in:
2026-06-28 20:26:19 +03:00
parent e3ac9612c9
commit f5dd56a379

View File

@@ -104,50 +104,49 @@ 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.2. Descriptor Table per process | | |
| | | 2.3. Auto-cleanup on exit | | | | | | 2.3. Auto-cleanup on exit | | |
| 3 | **Syscalls API** | | Medium | Processes | | 3 | **Syscalls API** | | Medium | Processes |
| | | 3.1. `transfer(desc, target)` | | | | | | 3.1. `transfer(desc, target)` | | |
| | | 3.2. `borrow(desc, duration)` | | | | | | 3.2. `mint(desc)` (delegation) | | |
| | | 3.3. `release(desc)` | | | | 4 | **Advanced MMU** | | Medium | Syscalls |
| 4 | **MMU Integration** | | Medium | Syscalls | | | | 4.1. Lazy paging / Copy-on-Write | | |
| | | 4.1. Page table per process | | | | | | 4.2. TLB Shootdown (SMP support) | | |
| | | 4.2. Mapping by descriptors | | | | 5 | **Security/Hardening** | | Low | All above |
| | | 4.3. Unmapping on release | | | | | | 5.1. Circular ref detection | | |
| 5 | **Circular references** | | Low | All above | | | | 5.2. Capability revocation depth | | |
## Debugging ## Debugging