Об этом проекте

egos-2000 — учебная операционная система, заявленная цель которой — дать каждому студенту возможность прочитать весь её код. Проект поддерживает реализацию ровно в 2000 строк (подсчитано с помощью cloc, без учёта Markdown), что делает всю систему достаточно компактной для сквозного изучения. Архитектура Название «egos» отражает трёхуровневый дизайн: - Уровень Earth: аппаратно-зависимые абстракции, включая интерфейсы устройств tty и диска, а также интерфейсы управления таймером и памятью. - Уровень Grass: аппаратно-независимые абстракции, включая блок управления процессом и интерфейс системных вызовов. - Уровень Application: файловая система, оболочка и пользовательские команды. Интерфейсы между уровнями определяются структурами struct earth и struct grass в заголовочном файле egos.h. Платформы и использование Система работает на QEMU и на платах RISC-V. В USAGES.md описано, как её запускать; для деталей набора инструкций приводятся ссылки на руководства RISC-V privileged ISA. В README упоминаются порты сообщества: mriscv (процессор на SystemVerilog), Allwinner D1 и вычислительный модуль Sipeed Lichee RV64 Nezha. Также на egos-2000 был продемонстрирован порт DOOM. Учебные материалы Книга EGOS содержит девять курсовых проектов на основе egos-2000. Проект использовался в университетских курсах, таких как Northeastern CS4973/6640 и Cornell CS4411/5411, а в README упоминаются стипендия Facebook Fellowship, а также несколько научных руководителей и участников. Для кого предназначен Это прежде всего учебный и методический ресурс по операционным системам: для студентов и преподавателей, которым нужны полное читаемое ядро и набор направляемых проектов, а не производственная ОС для развёртывания.