# peredOS Самая халяльная ОС которая существует впринципе # Роадмап ## 1. Базовое - [x] Оно работает - [x] Драйвер VGA - [x] Прерывания (GDT/IDT) - [x] UART отладка - [x] Драйвер таймера - [ ] Драйвер клавиатуры - [ ] Нормальный драйвер VGA (скролл итд) - [ ] Нормальный драйвер клавиатуры (Caps Lock, Shift, Numpad итд) - [ ] Драйвер PC Speaker - [ ] Screen buffers (как tty в Linux) - [ ] ANSI Escape в screen buffers - [ ] Драйвер мыши - [ ] **VFS** - [ ] DebugFS - [ ] Драйвер cpio ramdisk - [ ] Парсер MBR - [ ] **Драйвер диска (ATA PIO)** - [ ] **Драйвер FAT32** ## 2. Процессы, память, user mode - [ ] Физ. менеджер памяти - [ ] Вирт. менеджер памяти - [ ] Куча ядра - [ ] Потоки ядра - [ ] **Планировщик** - [ ] Синхронизация (mutex) - [ ] Условные переменные - [ ] Базовый IPC - [ ] Пользовательские сегменты в GDT - [ ] Таблица TSS - [ ] Разделение памяти - [ ] Прыжок в Ring 3 - [ ] **Системные вызовы** - [ ] Аллокатор пользовательского стека - [ ] **Исполняемые файлы ELF** ## 3. Экосистема, программы, libc - [ ] **POSIX-совместимый libc** - [ ] **coreutils** - [ ] **Порт простейшего (или нет) компилятора C** ## 4. Драйвера (на десерт) - [ ] **Сканер PCI** - [ ] **Сопоставление PCI-устройств с драйверами** - [ ] Драйвер Realtek RTL8139 - [ ] Драйвер Intel AC97 - [ ] Драйвер BGA - [ ] **Парсинг ACPI** ## 5. Сеть - [ ] Парсер Ethernet-кадров - [ ] Протокол ARP - [ ] **Протокол IPv4** - [ ] **Протокол ICMP** (ping) - [ ] UDP - [ ] **Базовый TCP** - [ ] **Обкатка сетевых функций в libc** ## 6. Далекое будущее Не факт, что вообще что-то из этого сбудется. - [ ] x64 - [ ] EFI - [ ] Работа с efivars - [ ] UEFI ACPI - [ ] USB - [ ] SMP - [ ] Драйвер extX - [ ] Парсер GPT # Роадмап userland ## 1. coreutils - [ ] Текстовые утилиты - [ ] Файловые утилиты - [ ] Информационные утилиты - [ ] Утилиты администрирования - [ ] Сетевые утилиты - [ ] Отладочные утилиты