Sobre el proyecto

egos-2000 es un sistema operativo educativo cuyo objetivo declarado es que cada estudiante lea todo su código. El proyecto mantiene la implementación en exactamente 2000 líneas (contadas con cloc, excluyendo Markdown), lo que hace que todo el sistema sea lo suficientemente pequeño para estudiarlo de principio a fin. Arquitectura El nombre "egos" refleja un diseño de tres capas: - Capa de tierra: abstracciones específicas del hardware, incluyendo interfaces de dispositivos tty y disco, además de interfaces de temporizador y gestión de memoria. - Capa de hierba: abstracciones independientes del hardware, incluyendo el bloque de control de procesos y la interfaz de llamadas al sistema. - Capa de aplicación: sistema de archivos, shell y comandos de usuario. Las interfaces entre capas se definen mediante las estructuras earth y grass en el archivo de cabecera egos.h. Plataformas y uso El sistema se ejecuta en QEMU y en placas RISC-V. USAGES.md documenta cómo ejecutarlo, y los manuales de ISA privilegiada RISC-V se referencian para los detalles del conjunto de instrucciones. Los puertos comunitarios mencionados en el README incluyen mriscv (un procesador SystemVerilog), Allwinner D1 y el módulo de computación Sipeed Lichee RV64 Nezha. También se ha demostrado un puerto de DOOM en egos-2000. Materiales de aprendizaje El libro EGOS contiene nueve proyectos de curso basados en egos-2000. El proyecto se ha utilizado en cursos universitarios como Northeastern CS4973/6640 y Cornell CS4411/5411, y el README acredita una beca de Facebook junto con varios asesores académicos y colaboradores. Para quién es Esto es principalmente un recurso de estudio y enseñanza para sistemas operativos: estudiantes e instructores que quieren un kernel completo y legible y un conjunto de proyectos guiados, en lugar de un SO de producción para despliegue.