operating system - sistemas - Recursos para desarrollar un sistema operativo
sistemas operativos definicion (15)
Además de libros, hay muchos sitios que aprenden sobre desarrollo de SO
BrokenThorn Entertainment está en este sitio web que aprende el desarrollo del SO de la base
Estoy planeando escribir un sistema operativo y no sé mucho sobre los sistemas operativos. ¿Hay algún buen recurso o libros para leer para que aprenda? ¿Cuáles son tus recomendaciones?
Debería mirar en MINIX 3. Este es un sistema operativo que fue escrito en, creo, menos de 10,000 líneas. Puede obtener una muy buena idea de cómo funciona un sistema operativo con la ayuda de uno de los libros de Tanenbaum y comprender cómo funciona MINIX 3. Puedes ir directamente a Linux, pero creo que esta es una tarea útil y realmente te ayuda a ver cómo realmente no se necesitan tantas líneas para construir un sistema operativo en funcionamiento.
Desarrollando su propio sistema operativo de 32 bits por Richard A. Burgess. Ingresé a grandes detalles sobre los cargadores de arranque, configurando esos extraños registros de administración de procesos y memoria, etc. Fue una gran lectura en 1996 cuando pensé que me tomaría un buen trabajo escribir un sistema operativo simple desde cero, pero podría estar fechado por ahora, tratando solo con las primeras generaciones de CPU de clase Pentium.
Eche un vistazo a HelenOS , que es un sistema operativo basado en microkernel desde cero que pretende ser un sistema operativo completamente moderno. Disclamer, soy colaborador, estoy trabajando en su caparazón desde cero.
HelenOS ha sido portado a ia32 / 64, SPARC, ARM y más, está muy bien diseñado y es fácil de leer. Todavía está en pañales pero muestra un posible diseño que realmente aprovecha el diseño de microkernel y resuelve muchos problemas en una implementación de microkernel (como IPC).
También incluye scripts que configuran automáticamente una cadena de herramientas adecuada para la compilación cruzada. Es muy fácil de construir y funciona muy bien en la mayoría de los simuladores (es decir, QEMU) o metal desnudo.
También estudiaría L4, Minix3 y el GNU HURD (basado en Mach), este último es una ilustración de las trampas de diseño cuando se trata de aprovechar un microkernel.
Si quieres ir por la ruta monolítica, solo estudia Linux.
Mientras son viejos, estos libros son muy buenos:
Diseño del sistema operativo con Xinu
Diseño del sistema operativo-Internetworking con XINU, vol. II
texto alternativo http://ecx.images-amazon.com/images/I/51MTVNE1PHL._SL500_AA240_.jpg
3 : http: // Diseño del sistema operativo -Internetworking con XINU, vol. II
Recomendaría buscar sistemas operativos integrados y construir un sistema operativo integrado. Tratará con los conceptos básicos sin la sobrecarga de una CPU de escritorio moderna.
La primavera pasada escribí un SO integrado multitarea como proyecto final, es más fácil de lo que piensas.
Recomiendo echar un vistazo a la clase de sistemas operativos de MIT . Tiene muchas referencias útiles y muchos ejercicios de laboratorio con los que puedes jugar (incluidos los guiones de calificación automáticos, para que no tengas que ser un alumno del MIT).
Si no recuerdo mal , el HOWTO de Powerup to Bash contenía mucha información que parecía que sería útil para esto. También lo hicieron las versiones anteriores del Linux From Scratch HOWTO, pero en versiones recientes que se han eliminado.
También encontrará mucha información útil en Understanding the Linux Kernel .
Temas similares en este mismo sitio:
Usamos los sistemas operativos modernos de Andrew Tannenbaum en la universidad a la que asistí. Lo recomiendo mucho porque es una explicación clara de las ventajas y desventajas inherentes a muchas de las decisiones de diseño con las que se encontrará. Este libro es un poco más "justo y equilibrado" que el libro de Minix.
texto alternativo http://ecx.images-amazon.com/images/I/51DptFJH9NL._SL500_AA240_.jpg
También recomiendo este libro porque, a pesar de su famosa y flagrante guerra contra Linus Torvalds , pocos de sus prejuicios aparecen en el libro. Además, es un escritor bastante decente, y el libro en realidad es entretenido.
libro de texto http://ecx.images-amazon.com/images/I/411E3CQQYZL._SS500_.jpg
Usé Sistemas Operativos y Middleware: Apoyo a la Interacción Controlada cuando estaba en la universidad. Es probablemente uno de los mejores libros de texto sobre el tema.
Implementación de sistemas operativos Prentice Software
texto alternativo http://ecx.images-amazon.com/images/I/3125C47MR4L._SL500_AA180_.jpg
Este libro está escrito por Tanenbaum, el hombre principal detrás de Minix, que es en lo que se basó Linux. Proporciona buenos resúmenes de los conceptos básicos del sistema operativo, como la gestión de memoria, los sistemas de archivos, los procesos, etc. Los conceptos de este libro están íntimamente ligados a ejemplos del sistema operativo Minix, lo cual es una buena idea.
Creo que deberías comenzar por algo así.
Conceptos del sistema operativo es el libro que utilizamos en la Universidad. Es bastante feo, PERO la información que contiene está bien explicada (desde la administración básica de la memoria hasta cómo el sistema operativo decide qué ejecutar o cómo evitar un punto muerto). Bastante amplia.
- Diseño e implementación de sistemas operativos
- El diseño e implementación del sistema operativo FreeBSD
Justo al lado de la parte superior de mi cabeza.