Como Crear Un Sistema Operativo.
1
Tendrás que tener conocimientos de
programación antes de empezar. El lenguaje ensamblador es esencial;
otro lenguaje adicional de bajo nivel como C será muy recomendable.
2
Decide en qué medio deseas cargar el
sistema operativo. Podría ser una unidad de CD,
DVD, de flash, un disco duro o en otra PC.
![]() |
3
Decide qué quieres que haga tu
sistema operativo. Si se trata de un sistema
operativo completamente capaz que tiene una interfaz gráfica de usuario (GUI,Graphical
User Interface) o algo un poco más minimalista, tendrás que saber qué
dirección vas a tomar antes de comenzar.
![]() |
|
4
Especifica qué plataforma de
procesador será compatible con tu sistema operativo. Te recomendamos las dos más comunes
para las computadoras personales: AI-32 y x86_64.
|
5
Decide
si prefieres hacerlo todo tú mismo desde cero o si hay un núcleo existente que
te gustaría usar como base para construir. Por ejemplo, programar Linux desde
cero será un proyecto para aquellos que le gustaría crear su propia
distribución de Linux.
6
Decide
si vas a utilizar tu propio gestor de arranque o uno pre-creado como el
cargador de arranque unificado global (GRUB, Grand Unified Bootloader).Debido a que para programar el código
de tu propio gestor de arranque necesitarás poseer un conocimiento amplio del
hardware y del BIOS, podría retrasarte para programar el núcleo en sí.
![]() |
7
Decide
qué lenguaje de programación vas a utilizar. Si bien es posible crear un
sistema operativo con un lenguaje como Pascal o BASIC, será mejor si usas C o
el ensamblador. El ensamblador es absolutamente necesario, ya que algunas
partes vitales de un sistema operativo lo necesitan. Por su parte, C++ contiene
palabras clave que necesitan otro sistema operativo totalmente integrado para
poder funcionar.
·
Para
poder compilar un sistema operativo con el código C o C++, por supuesto tendrás
que utilizar cualquier compilador. Por lo tanto deberás leer la guía o los
manuales o la documentación de usuario del compilador C o C++ que vayas a
elegir, ya sea si se incluye con el software o esté disponible en la página web
del distribuidor. Tendrás que saber muchas cosas complejas acerca del
compilador y para desarrollar con C++ deberás tener conocimientos de decoración
de nombre (mangling scheme) del compilador y de su ABI. Se supone que
tendrás que conocer los diversos formatos ejecutables (ELF, PE, COFF, binarios
sin formato, etc.) y entender que el formato patentado de Windows, PE (.exe),
está protegido por los derechos de autor.
8
Decide
cuál será la interfaz de programación de aplicaciones (API,Application
Programming Interface). Te recomendamos POSIX, ya que está
bien documentada. Todos los sistemas Unix tienen al menos el soporte parcial
para POSIX, por lo que sería trivial conectar programas Unix con tu sistema
operativo.
![]() |
|
|
9
Decide
el diseño. Existen
núcleos monolíticos y micronúcleos. Los monolíticos implementan todos los
servicios en el núcleo, mientras que los micronúcleos tienen un núcleo pequeño
combinado con servicios de implementación de demonios de usuario. En general,
los núcleos monolíticos son más rápidos, pero los micronúcleos tienen un mejor
aislamiento de fallos y fiabilidad.
![]() |
|
|
10
Considera
desarrollar y trabajar en equipo. De esta manera, se resolverán más problemas en menos tiempo, lo
cual podría generar un mejor sistema operativo más rápidamente.
![]() |
|
|
11
No
borres tu disco duro por completo. Recuerda, ¡al borrar el disco podrías borrar todos tus datos
irreversiblemente! Utiliza el GRUB u otro gestor de arranque para que tu
computadora tenga otro sistema operativo con el cual arrancar hasta que el tuyo
funcione por completo.
![]() |
|
|
12
Empieza
con algo pequeño. Empieza con cosas pequeñas como
mostrar texto e interrupciones antes de proseguir a desarrollar cosas como
gestión de memoria y multitarea.
![]() |
13
Guarda
una copia de seguridad de la última fuente de trabajo. Ello será una medida de
protección en caso de que surja algún problema grave con la versión actual de
tu sistema operativo o tu desarrollo. Si la PC se bloquea y no puede arrancar,
será excelente tener una segunda copia con la que puedas trabajar para
solucionar el problema.
![]() |
14
Considera
probar tu nuevo sistema operativo en una computadora virtual. En lugar de reiniciar el equipo cada vez que realices cambios o tengas
que transferir ciertos archivos desde el equipo de desarrollo al equipo de
prueba, podrás utilizar la aplicación de una computadora virtual para ejecutar
tu sistema operativo, mientras el tuyo se mantiene en funcionamiento. Algunas
aplicaciones de computadora virtual son VMWare (que también tiene un producto
de servidor gratuito), la alternativa de código abierto, Bochs, Microsoft
Virtual PC (no compatible con Linux) y xVM VirtualBox.
![]() |
15
Saca
un “candidato de lanzamiento”. Esto permitirá a los usuarios informarte sobre posibles problemas
con el sistema operativo.
![]() | |
16
Un sistema operativo también podría
ser fácil de usar, así que asegúrate de incluir características fáciles para el
usuario, de modo que sean parte integral de tu diseño.
Gracias Espero que te haya servido : ) XD















