Código simple, autónomo, limpio, bien documentado, sistema operativo aficionado de 64 bits para procesadores Intel y AMD. Está escrito en ensamblaje (sintaxis Intel) y C (estándar GNU99) en el que me esfuerzo por agregar comentarios al código fuente tanto como sea posible para que pueda usarse como referencia para los futuros desarrolladores del sistema operativo.
Contiene los siguientes componentes escritos desde cero:
| Componente | Descripción | Código fuente |
|---|---|---|
| MBR | Gestor de arranque del primer escenario | código |
| Cargador | Gestor de arranque de la segunda etapa | código |
| Componente | Descripción | Código fuente |
|---|---|---|
| PML4 | Estructura de paginación | código |
| Compañero | Sistema de asignador de memoria | código |
| Imprimir | Utilidad de análisis de formato de cadena de impresión | código |
| Controlador de serie | Enviar MSGS printk a través de RS232 para ayudar a la depuración | código |
| Descarga de núcleo | Volcar registros de CPU para fines de depuración | código |
| Syscall/sysret | Método elegido para saltar al anillo 3 y hacia atrás | código |
| FOSA | Temporizador de intervalo programable | código |
| Foto | Controlador de interrupción programable | código |
| (x) Retraso | Basado en tTloops dado que estoy usando pozo | código |
| CMOS RTC | Reloj en tiempo real | código |
| Planificador | Programador simple de round-robin | código |
Las funciones se agregan a pedido: código
¡Más por venir! ¡Estrella/mira este repositorio para estar atento!
Para crear esta aplicación, se espera que tenga make y docker instalados en su máquina. Todas las otras dependencias del edificio deben ser atendidas automáticamente por la imagen de Docker creada durante este paso.
Para construirlo tienes que ejecutar:
make build
Para ejecutar esta aplicación, se espera que tenga make y qemu-system-x86_64 instalado en su máquina.
make test
Para asegurarme de que no perderé el enfoque en lo que quiero que este sistema operativo pueda hacer, decidí escribir una lista de características que quiero implementar a corto y mediano plazo.
Cosas que serían fantásticas de tener, pero no estoy seguro de si tengo lo que se necesita para hacer en mi vida.
Estas son todas las referencias que me ayudaron mucho durante el desarrollo de Almeidaos.
Foros:
Libros:
OSE existentes:
Cursos: