Una cosa que siempre quise hacer es desarrollar mi propio sistema operativo (no necesariamente sofisticado como Linux o Windows, pero mejor que un simple gestor de arranque que ya he hecho).
Me cuesta encontrar recursos / guías que lo lleven a escribir un simple sistema operativo "Hello World".
Sé que mucha gente probablemente recomendará que mire Linux o BSD; pero la base de código para sistemas como ese es (presumiblemente) tan grande que no sabría por dónde empezar.
¿Alguna sugerencia?
Actualización: para que sea más fácil para las personas que llegan a esta publicación a través de Google, aquí hay algunos recursos de desarrollo del sistema operativo:
Escribir su propio sistema operativo (gracias Adam)
Linux From Scratch (Gracias John)
SharpOS (Sistema operativo C #) (Gracias lomaxx)
OS Dev Wiki y Foros (Gracias Steve)
BonaFide (Gracias Steve)
Bran (gracias Steve)
Haga rodar su propio sistema operativo UNIX-clone (gracias Steve)
Otros recursos:
Encontré un buen recurso llamado MikeOS , "MikeOS es una herramienta de aprendizaje para demostrar cómo funcionan los sistemas operativos simples. Utiliza el modo real de 16 bits para el acceso al BIOS, por lo que no necesita controladores complejos"
Actualizado 14/11/08
Encontré algunos recursos en la Guía de Freebyte para ... Sistemas operativos gratuitos y no libres que enlazan con kits como OSKit y la biblioteca ExOS. Estos parecen súper útiles para comenzar a desarrollar el sistema operativo.
Actualizado 23/02/09
Ric Tokyo recomendó nanoos en esta pregunta . Nanoos es un sistema operativo escrito en C ++.
Actualizado 9/9/09
Dinah proporcionó una discusión útil sobre el desbordamiento de pila de los aspirantes a desarrolladores de sistemas operativos: los obstáculos en la creación de un sistema operativo personalizado discuten las dificultades que pueden surgir al desarrollar un sistema operativo y el desarrollo del sistema operativo es una discusión más general.
Actualizado 7/9/09
LB proporcionó un enlace al Proyecto Pintos , un sistema operativo educativo diseñado para estudiantes que aprenden el desarrollo del sistema operativo.
Actualizado el 27/07/09 (¡Sigue siendo fuerte!)
Me topé con un curso de sistema operativo en línea de Berkley con 23 conferencias.
TomOS es una bifurcación de MikeOS que incluye un pequeño administrador de memoria y soporte para mouse. Como MikeOS, está diseñado para ser un proyecto educativo. Está escrito en el ensamblador NASM.
Actualizado 8/4/09
Encontré las diapositivas y otros materiales para acompañar las conferencias en línea de Berkeley enumeradas anteriormente.
Actualizado 23/08/09
Todas las preguntas etiquetadas osdev en stackoverflow
OS / 161 es un sistema operativo académico escrito en c que se ejecuta en un hardware simulado. Este sistema operativo es similar en Nachos. Gracias Novelocrat!
tangurena recomienda http://en.wikipedia.org/wiki/MicroC/OS-II , un sistema operativo diseñado para sistemas integrados. También hay un libro complementario .
El desarrollo del kernel de Linux por Robert Love es sugerido por Anders. Es una "mirada privilegiada ampliamente aclamada en el kernel de Linux".
Actualizado el 18/09/2009
Gracias Tim S. Van Haren por contarnos sobre Cosmos , un sistema operativo escrito completamente en C #.
tgiphil nos cuenta sobre el marco de la Alianza de Sistemas Operativos Administrados (MOSA) , "un conjunto de herramientas, especificaciones y código fuente para fomentar el desarrollo de sistemas operativos administrados basados en el Lenguaje Intermedio Común".
Actualización 24/09/2009
Steve encontró un par de recursos para el desarrollo en Windows usando Visual Studio, consulte la configuración de la guía BrokenThorn con VS 2005 o la Sección VS de OSDev .
Actualizado 9/5/2012
kerneltrap.org ya no está disponible. Linux kernel v0.01 está disponible en kernel.org
Actualizado el 21/12/2012 Un tutorial básico de desarrollo de SO diseñado para ser un proyecto de semestre. Le guía a través de la construcción de un sistema operativo con componentes básicos. Muy buen comienzo para principiantes. Papel relacionado . Gracias Srujan!
Actualizado 15/11/2013
Escribir un sistema operativo simple desde cero . Gracias James Moore!
Actualizado 8/12/2013
Cómo hacer un sistema operativo de computadora Gracias ddtoni!
Actualizado 18/03/2014
ToAruOS un sistema operativo creado principalmente desde cero, incluida la GUI
Actualizado el 12 de septiembre de 2016
Escribir su propio sistema operativo de juguete
Actualizado 10 de diciembre de 2016
Escribir un sistema operativo simple: desde cero (gracias @Tyler C)