EOS

Материал из SynapseOS wiki
Перейти к навигации Перейти к поиску

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 репозиторий.

Ссылки