v0.1.0a
Версия Kintsugi OS 0.1.0 alpha.
Реализовано
- Загрузчик с переходом из реального режима в защищённый
- GDT (Глобальная таблица дескрипторов)
- Управление памятью с аллокаторами:
- Аллокатор на основе связанных блоков памяти
- Paging интегрирован в аллокацию памяти
- Драйверы:
- VGA-экран с поддержкой цветного текста
- Клавиатура (PS/2)
- Таймер
- Система прерываний (IDT, ISR, IRQ)
- Командная оболочка "Keramika Shell" с поддержкой команд:
HELP- список командCLEAR- очистка экранаEND- остановка CPUAMALLOC/MALLOC- выделение памятиFREE- освобождение памятиINFO- информация о системеMEMDUMP- дамп памяти- И другие...
- Библиотека KKLibC (Kintsugi Kernel LibC) включая:
- Работу со строками, генерация числа и прочие стандартные вещи (stdlib.h)
- Форматированный вывод (stdio.h)
- Функции памяти (mem.h)
- Библиотека для математики (math.h)
- Типы данных (ctypes.h)
- Общий заголовочный файл kklibc.h
- Постраничная обработка памяти (paging.h)
Команды оболочки
KintsugiOS включает оболочку "Keramika Shell" со следующими командами:
END- остановка процессораCLEAR- очистка экранаMALLOC <size>- выделение памяти (куча)FREE <address>- освобождение памятиINFO- информация о системеMEMDUMP- дамп памятиECHO <text>- вывод текстаHELP- справка по командамSLEEP <ms>- ожидать N секундREBOOT- перезагрузкаRAND <seed>- генерация случайного числа по алгоритму xorshift32RANDRANGE <seed> <min> <max>- генерация случайного числа в диапазоне при помощи xorshift32BINPOW <base> <exponent>- бинарное возведение в степеньFIB <num>- алгоритм фибоначчи
Изменения: https://github.com/alexeev-prog/KintsugiOS/commits/v0.1.0a