\section{Introducción}

En el transcurso de la materia nos encargamos de crear un pequeño sistema
operativo. Arrancamos por aprender a bootear una PC común, agregando manejo de
memoria, interrupciones, concepto de procesos y uso de pantalla entre otras
cosas. Progresivamente se fueron introduciendo conceptos y funcionalidad más
avanzada, con el objetivo de simular un ambiente similar al de sistemas *nix
para desarrollar aplicaciones. La culminación del trabajo dio sus frutos al
poder correr una aplicación escrita en C y compilada para un sistema POSIX que
hiciese uso de pipes, memoria compartida, y el modelo fork para realizar alguna tarea.

El trabajo final busca finalizar algunas secciones a las que no se
les dio mucho énfasis como el driver de disco rigido, y principalmente
agregar memoria virtual. De esta manera se busca complementar el manejo de
memoria con el almacenamiento secundario para mejorar la experiencia del
desarrollador de aplicaciones (administrando mejor la memoria principal para dar
la sensación de que existe mucho más de lo que hay).
