Lo primero y lo más importante es preguntar por qué …
En los primeros días (incluso a través de los 80) tenías muchos sistemas operativos.
Apple tuvo las suyas, Microsoft hizo una para IBM, IBM tuvo algunas, HPUX, …
Muchos de ellos estaban basados en “Unix”, compartían el código base comprado y extendían el núcleo para satisfacer las necesidades del sistema.
Si alguna vez viste el programa Halt and Catch fire, hubo un momento temprano, en el que pasaron por la ingeniería inversa del chip. Este fue un chip muy básico (en comparación con los modernos), y en verdad una tarea como esa llevaría días, semanas, y un error podría ponerlos en el cuadrado 1.
- ¿Es bastante fácil aprender a hacer snowboard solo?
- ¿Es necesario aprender AutoCAD antes de aprender PTC Creo Parametric?
- ¿Cuáles son los programas importantes que un estudiante de informática debe aprender?
- ¿Es demasiado tarde para empezar a bailar contemporáneo a los 16 años de edad?
- ¿Cuánto tiempo tomará aprender C con fluidez para un no principiante?
Diseñar un sistema operativo es similar en muchos aspectos. Si se trata de un nuevo sistema operativo, a diferencia de cualquier otro, necesitaría hardware, referencias a chipsets, registro de bus, etc.
Esto es mucha investigación (y se hace más cada año). Puede ser abrumador, e incluso proyectos como Linux serían mucho más difíciles de llevar a cabo en estos días que hace años.
Además, ni siquiera Linux fue escrito desde cero. Era un “clon” de Unix, y también tenía un código de Unix. Esto se hizo antes de tener que incluir los controladores para las tarjetas de sonido, hacer más que las pantallas TTY y volver cuando las computadoras eran mucho más simples.
Sin un objetivo real en mente, el esfuerzo por hacer que algo sea incluso remotamente capaz (y las herramientas para apoyarlo, y proporcionar un propósito a los usuarios potenciales), no solo es una locura, sino una loca locura.
Tengo un dicho en el que creo firmemente: “¿Por qué reinventar la rueda? ¡Porque puedes hacerlo mejor! ”.
No diré que no podrías hacerlo mejor, pero diré que estás hablando de mucho esfuerzo, casi sin posibilidad de pago.
Quizás en lugar de reinventar la rueda desde cero, debería tomar una rueda existente (por ejemplo, Linux) y mejorarla o modificarla para que se ajuste mejor a sus necesidades. (Como lo hicieron Android y Apple).
Si realmente desea escribir y utilizar el sistema operativo, sugiero inventar una máquina del tiempo y viajar a los días de las cintas para el cabello (o quizás antes).