4.0 KiB
4.0 KiB
Документация ядра 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 |