operating-system osdev

operating system - ¿Mejor sistema operativo educativo para el estudio?



operating-system osdev (9)

¡Acabo de escribir mi versión del kernel x86 desde cero! (para mi proyecto de clase OS ) y esa fue una experiencia que probablemente no podría describir. Puede encontrar recursos valiosos en el enlace de arriba.

¿Cuál es el mejor sistema operativo para estudiar para escribir tu propio sistema operativo x86 desde cero?


Creo que Minix fue creado para ese propósito exacto.

¡Que te diviertas!


Creo que es la mejor forma de leer muchos orígenes de sistemas operativos diferentes, definitivamente tutoriales OSBeb Barebone, informes sobre la investigación del sistema operativo y documentación sobre su hardware de destino.

Personalmente, recomendaría mirar el kernel de pistacho de l4-ka, escrito en bastante bueno C ++. También hay varios proyectos más pequeños que vale la pena echarle un vistazo, como jimix o pedigree.

Lo mejor es quedarse en los foros y wiki de osdev: hay mucha información que ya está respondida, consulte http://forum.osdev.org y osdev.org


Honestamente, probablemente no debería comenzar con una arquitectura x86, ni siquiera con sistemas operativos, sino tal vez algo como un kit de inicio de 8 bits, como un kit de desarrollo básico de Fox11 . En la universidad, escribí mi primer (y único) sistema operativo en ensamblaje para un procesador M68HC11 (el que está en el kit).

Si realmente quieres construir tu propio sistema operativo desde cero, tienes un largo camino por delante.


Leí este artículo hace un tiempo. Puede que le resulte interesante. Este tipo escribió MINIX en el pasado con el propósito de enseñar conceptos de SO. Así que probablemente sería un buen sistema operativo simple para estudiar. http://www.cs.vu.nl/~ast/brown/

Sin embargo, como mencionaron Martin y Cory, es una gran parte para masticar.


No tiene mucho sentido estudiar sistemas operativos obsoletos, que son prácticamente todos los sistemas operativos actuales, ya que tienden a tener una larga vida útil. Eche un vistazo a algunas ideas nuevas (aunque basadas en probadas y verdaderas) como Singularity


Para mi clase de SO en la universidad usamos el Proyecto Nachos OS y lo implementamos. Hice la versión C ++, sin embargo creo que también hay un puerto Java de este. Recuerdo que fue muy interesante y aprendí mucho, a pesar de que era mucho trabajo.


Puede ser difícil comprender la fuente de un sistema operativo completo a la vez. Los tutorials en osdev.org tienen algunos ejemplos de código " osdev.org " para que pueda comenzar.


Todo depende de cómo quiera que funcione su sistema operativo, si quiere un microkernel probablemente debería estudiar Minix 3, o si quiere un kernel monolítico, el kernel de linux actual es un buen lugar para comenzar (SUGERENCIA: mirar en arco / x86 / boot, hay un código muy interesante allí). Sin embargo, personalmente creo que deberías leer los manuales de Intel y AMD, y luego leer un poco en los foros y wiki de osdev.org. Tienen un montón de código para estudiar, y generalmente son útiles para los novatos.