Cómo crear un sistema operativo desde 0

operating_systems.jpg

Una de las asignaturas de las que más disfruté en la universidad fue la de sistemas operativos. Es una de esas clases en la que aprendes, en gran medida, los pilares de los sistemas actuales.

Aunque crear un sistema operativo desde cero sea algo intimidante, no quiere decir que tu no puedas o debería intentar crear uno.

Operating System: From 0 to 1, es un libro electrónico (PDF) que te ayudará a crear tu propio sistema operativo. El libro está divido en tres partes. Las dos primeras están completas, a excepción de un capítulo de la primera parte, que está casi completo. La tercera parte aunque aún no está completa, no es esencial para poder crear algo funcional, esta parte está enfocada más en la expansión de la base, la cual está cubierta en las dos primeras partes del libro.

Los objetivos de dicho libro es el dar al lector el conocimiento de la base para la construcción de un sistema operativo. Si sigues el libro, al final deberías ser capaz de:

  • Escribir un sistema operativo desde cero y saber interpretar las especificaciones técnicas del hardware
  • Buen conocimiento sobre ensamblador x86
  • Depuración y emulación del hardware con GDB y QEMU
  • Interactuar bajo nivel con el hardware usando C
El libro asume que el lector tiene, al menos, los siguientes conocimientos:
  • Conocimientos básicos sobre electricidad
  • Conocimientos básicos sobre programación en C
  • Conocimientos básicos sobre sistemas basados en Linux, especialmente estar familiarizado con la línea de comandos
También dispones de un repositorio en Github con el código fuente usado en el libro.

Otros recursos mencionados en el proyecto sobre el tema:

http://wiki.osdev.org/Main_Page
https://0xax.gitbooks.io/linux-insides/content/ - Español: https://github.com/leolas95/linux-insides-spanish
https://www.allaboutcircuits.com/textbook/