# Документация ядра Elyz (LISA) ## Структура документации ``` kernel/docs/ ├── index.md ← этот файл: оглавление │ ├── overview/ │ ├── introduction.md ← Концептуальная модель (7 принципов) │ └── architecture.md ← Архитектура, схема, порядок инициализации │ ├── memory/ │ ├── introduction.md ← Трёхуровневая модель памяти │ ├── address-translation.md ← PhysAddr, VirtAddr, HHDM │ ├── physical-memory.md ← BitmapPMM (глобальный) │ ├── paging.md ← PageTable, 4-level walk │ ├── buddy.md ← BuddyAllocator (intrusive list) │ ├── pm-actor.md ← PMActor + MPSC очередь │ ├── pm-router.md ← PMRouter (65536 каналов) │ ├── allocator.md ← Slab-аллокатор (куча) │ └── vmm.md ← AddressSpace, VMA, COW, TLB │ ├── cpu/ │ ├── introduction.md ← CPU подсистема, 2 этапа обработки │ ├── idt.md ← IDT entry, InterruptDescriptorTable │ ├── interrupts.md ← Обработчики, stubs, early exceptions │ └── lapic.md ← Local APIC, IPI, EOI │ ├── capability/ │ ├── introduction.md ← Capability model, mint, revoke │ ├── descriptors.md ← Capability, CapObject, CapRights │ ├── cnode.md ← CNode, lock ranking │ └── objects.md ← KernelObject (ref-counted) │ ├── debug/ │ ├── introduction.md ← Отладка: экран + serial │ └── serial.md ← COM1 UART 16550 драйвер │ ├── boot/ │ ├── introduction.md ← Процесс загрузки, Limine │ └── linker.md ← Линкер-скрипты │ └── events/ └── introduction.md ← RevocationQueue (lock-free) ``` ## Быстрый старт по файлам | Файл ядра | Что делает | Документация | |-----------|-----------|--------------| | `src/main.rs` | Точка входа, инициализация, тесты | `overview/architecture.md` (раздел порядка инициализации) | | `src/mem/pmm.rs` | Глобальный PMM (Bitmap + L1) | `memory/physical-memory.md` | | `src/mem/buddy.rs` | Buddy-аллокатор | `memory/buddy.md` | | `src/mem/paging.rs` | 4-уровневые page tables | `memory/paging.md` | | `src/mem/pm_manages.rs` | PMActor + очередь | `memory/pm-actor.md` | | `src/mem/pm_router.rs` | PM Router каналы | `memory/pm-router.md` | | `src/mem/vmm.rs` | AddressSpace, COW, TLB | `memory/vmm.md` | | `src/mem/allocator.rs` | Slab-аллокатор | `memory/allocator.md` | | `src/mem/address.rs` | Физические/виртуальные адреса | `memory/address-translation.md` | | `src/cpu/idt.rs` | IDT структуры | `cpu/idt.md` | | `src/cpu/interrupts.rs` | Обработчики исключений | `cpu/interrupts.md` | | `src/cpu/lapic.rs` | Local APIC | `cpu/lapic.md` | | `src/cap/mod.rs` | CNode | `capability/cnode.md` | | `src/cap/descriptor.rs` | Capability типы | `capability/descriptors.md` | | `src/cap/object.rs` | KernelObject | `capability/objects.md` | | `src/debug/mod.rs` | Log macros | `debug/introduction.md` | | `src/debug/serial.rs` | Serial driver | `debug/serial.md` | | `src/events.rs` | Очередь отзыва | `events/introduction.md` | | `src/tty.rs` | Framebuffer console | `tty.md` |