Реализовано
- Собственный загрузчик с переходом из реального режима в защищённый
- GDT (Глобальная таблица дескрипторов) с полноценной сегментацией памяти
- Продвинутое управление памятью с двумя уровнями аллокации:
- Аллокатор на основе связанных блоков памяти с разделением и слиянием
- Страничная организация памяти (Paging) с интеграцией в аллокацию
- Драйверы оборудования:
- VGA-экран с поддержкой цветного текста и прокрутки
- Клавиатура (PS/2) с обработкой модификаторов (Shift, Ctrl, Alt, Caps Lock)
- Таймер с программными прерываниями
- ATA PIO с поддержкой LBA-адресации
- Система прерываний (IDT, ISR, IRQ) с кастомными обработчиками
- Командная оболочка "Keramika Shell" с поддержкой команд:
help
— список командclear
— очистка экранаend
— остановка CPUmalloc
— выделение памятиfree
— освобождение памятиinfo
— информация о системеmemdump
— дамп памяти- И другие...
- Библиотека KKLibC (Kintsugi Kernel LibC) включая:
- Работу со строками, генерация числа и прочие стандартные вещи (stdlib.h)
- Форматированный вывод (stdio.h)
- Функции памяти (mem.h)
- Библиотека для математики (math.h)
- Типы данных (ctypes.h)
- Общий заголовочный файл kklibc.h
- Страничная обработка памяти (paging.h)
- Библиотека стандартных методов (stdlib.h)
В разработке
- Файловая система Fat12
- Файловая система ext2
- Планировщик задач
- Пользовательское пространство
- Inter-Process Communication
- Загрузка ELF
- Графический интерфейс
- Многозадачность
- Пользовательский режим
- Сетевой стек
- Псевдографический интерфейс
- Полностью реализованный LibC
Готово
- Виртуальная память (Paging)
- Динамические аллокаторы памяти
- Чувствительность к регистру
- Драйвер ATA PIO
- Система прерываний с обработкой исключений
- Полноценная shell-оболочка
Изменения: v0.1.1a...v0.2.0a