Propuesta Oficial de TFG

1. Título

Desarrollo de un kernel académico para arquitecturas x8664 en C++

2. Resumen

El proyecto trata de programar y documentar un kernel académico en C++ de 64 bits que sea capaz de correr en máquinas x8664 que dispongan de UEFI. Junto al sistema se desarrollará un bootloader en C con posix-uefi capaz de arrancarlo mediante los UEFI Boot Services. La ejecución del kernel se realizará en la máquina virtual qemu con el firmware UEFI de edk2 Ovmf. La finalidad del proyecto es disponer de un kernel académico que implemente las funcionalidades básicas que hacen funcionar los sistemas operativos modernos y documentar toda su implementación.

3. Motivación

El lado teórico de los sistemas operativos tiene muchos recursos para aprender “step by step” (OSTEP, Tanenbaum, etc) mientras que en el lado de la implementación de kernels y sistemas encontramos pocos materiales y menos con tecnologías modernas como x8664, UEFI, C++, etc. Escribir un kernel académico desde cero y documentar su implementación junto a detalles del funcionamiento interno ayudaría a dar explicaciones demostrables de forma práctica sobre aspectos de bajo nivel del funcionamiento de un ordenador (memoria virtual, impresión por pantalla, etc). La Universidad actualmente carece de líneas de trabajo en este ámbito, abrir un proyecto en esta línea sería muy enriquecedor.

4. Proyectos Similares

4.1. Development of an Operating System in C

4.2. The little book about OS development

4.3. blogos

4.4. xv6

4.5. PonchoOS

4.6. SerenityOS

4.7. PowerNex

4.8. Toaruos

4.9. RedoxOS

4.10. TempleOS