- Una guía práctica sobre cómo desarrollar directamente un sistema operativo x86
- Escrito para ofrecer detalles técnicos sin revelar demasiada información mediante ejemplos de código o muestras
- No explica la teoría de los sistemas operativos ni cómo funciona un sistema operativo específico
- Los primeros capítulos explican con detalle y de forma concreta para que puedas familiarizarte rápidamente con la escritura de código
- Los capítulos posteriores describen de manera general los conceptos y requisitos, y animan al lector a encargarse de la implementación y el diseño
- Si necesitas estudiar teoría de sistemas operativos, recomiendan Modern Operating Systems de Andrew Tanenbaum
Contenido principal de los capítulos
- Primeros capítulos
- Cap. 2~3: configuración del entorno de desarrollo y arranque del kernel del OS en una máquina virtual → comienzo de la escritura de código en C
- Cap. 4: salida en pantalla y salida por puerto serial
- Cap. 5: segmentación
- Cap. 6: interrupciones y manejo de entrada
- Después del desarrollo de un kernel funcional
- Cap. 7: preparación para soportar aplicaciones en modo usuario
- Cap. 8~9: configuración de memoria virtual mediante paginación
- Cap. 10: asignación de memoria
- Cap. 11: ejecución de aplicaciones de usuario
- Temas avanzados
- Cap. 12: sistema de archivos
- Cap. 13: llamadas al sistema
- Cap. 14: multitarea
Contexto del libro y proceso de desarrollo
- Este libro y el kernel del OS se desarrollaron a través de un curso individual avanzado del Royal Institute of Technology de Suecia
- Los autores ya habían tomado antes una materia de teoría de OS, pero tenían poca experiencia real en desarrollo de kernels
- Abrieron un nuevo curso y escribieron este libro para implementar la teoría en la práctica y profundizar su comprensión
- La arquitectura x86 fue durante mucho tiempo la arquitectura de hardware más utilizada, y cuenta con abundante material de referencia y emuladores
- La documentación sobre los detalles del hardware solía ser compleja y difícil de entender
Forma de desarrollo
- Trabajo de tiempo completo durante unas 6 semanas
- Implementación en pasos pequeños y pruebas manuales en cada etapa → facilita identificar la causa de los bugs
- La mayor parte del código se escribió mediante pair programming → se esperaba reducir los bugs
Público objetivo
- Adecuado para lectores con conocimientos previos como los siguientes:
- Familiaridad con UNIX/Linux y programación de sistemas
- Familiaridad con el lenguaje C
- Comprensión de sistemas computacionales y notación hexadecimal, entre otros
- Los principiantes también pueden usarlo como herramienta de aprendizaje, pero su nivel de dificultad es alto
1 comentarios
Opiniones de Hacker News
Me encanta osdev. No sé cuál es la meta final, pero está increíble poder construir lo que uno quiere
Mucha gente recomienda su alternativa favorita, pero yo sigo siendo muy fan de Project Oberon
Este libro tiene el defecto clásico de los tutoriales de osdev
Mi libro favorito sobre OS sigue siendo Operating Systems: Three Easy Pieces
¡Gracias! Parece un recurso excelente sobre este tema
Este comentario me da mucha nostalgia por los 2000
El libro es bueno. Vale la pena revisar los issues en GitHub
Ojalá dos libros japoneses sobre desarrollo de sistemas operativos fueran traducidos al inglés
Me pregunto dónde estará el manual del pequeño libro rojo de OS
Hablando de desarrollo de OS, los juegos hacen que aprender sea divertido