EOS
Перейти к навигации
Перейти к поиску
EOS (Experimental/Educational Operating System) — хобби-проект по написанию операционной системы для платформы x86. Разрабатывается с 2019 года Рустемом Гимадутдиновым (rgimad).
Особенности
EOS представляет собой простое монолитное ядро.
Реализовано:
- Настройка GDT и IDT
- Терминал на базе фреймбуфера VESA :D
- Поддержка клавиатуры и мыши PS/2.
- Обнаружение оперативной памяти и диспетчер физической памяти
- Higher half
- Ядро запускается с виртуального адреса 0xC0100000.
- Виртуальные адреса 0xC0000000-0xC0400000 и 0x00000000-0x00400000 сопоставлены с одним физическим диапазоном - 0x00000000-0x00400000
- Диспетчер виртуальной памяти
- Менеджер кучи ядра на основе записей (kmalloc/kfree/krealloc)
- Простая встроенная в ядро командная оболочка ядра (KSH)
- VFS
- Initrd, использует TarFS
- Загрузчики исполняемых файлов MENUET01 и PE
- Механизм системного вызова
Летом 2022 года в ядро была портирована библиотека stb_image, а в KSH добавлена команда для чтения изображения из файла и его вывода на экран.
Исходный код EOS довольно прост для изучения начинающими в osdev.
История
10 августа 2019 года — первый коммит в github репозиторий.