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?Recursos para desarrollar un sistema operativo
Respuesta
Utilizamos Andrew Tannenbaum's Modern Operating Systems 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.
alt text http://ecx.images-amazon.com/images/I/51DptFJH9NL._SL500_AA240_.jpg
También recomiendo este libro porque, a pesar de su net-famous flame war with Linus Torvalds, algunos de sus prejuicios vienen a través del libro. Además, es un escritor bastante decente, y el libro en realidad es entretenido.
Operating Systems Implementation Prentice Software
alt text http://ecx.images-amazon.com/images/I/3125C47MR4L._SL500_AA180_.jpg
Este es un libro escrito por Tanenbaum, el tipo principal detrás de Minix, que es lo que Linux se basa en. 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 empezar por algo así.
sólo quiero señalar que Linux no era realmente "basada en" Minix , fue pensado como un reemplazo para ello. Linux tiene un kernel monolítico, mientras que Minix se basa en un diseño de microkernel. –
Justo al lado de la parte superior de mi cabeza.
Os dev sitio es rico en información si quieres empezar a programar su propio sistema operativo también,
Operating System Concepts es el libro que usamos 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.
¿Ugly? ¡Pero la portada es _beautiful_! Me encanta ese libro porque se ve muy bonito en mi estantería. Sin embargo, no puedo recordar realmente cómo es en el interior. – mipadi
Sí, este es un clásico. Por lo general, se lo conoce como el libro de dinosaurios. Lo tengo en el sofá con mi ahora mismo en realidad. Este es un buen libro, aunque es introductorio. Por lo general, es un texto de pregrado. – BobbyShaftoe
Siempre he oído hablar de The Dino Book y estoy de acuerdo en que es un libro de texto de pregrado. –
hilos similares en este mismo sitio:
me gustaría recomendar altamente echar un vistazo a la MIT Operating Systems class. 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 Powerup to Bash Prompt HOWTO 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.
Mientras edad, estos libros son muy buenos:
Operating System Design with Xinu
Operating System Design-Internetworking With XINU, Vol. II
alt text http://ecx.images-amazon.com/images/I/51MTVNE1PHL._SL500_AA240_.jpg
3: http://Operating Design System-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.
Escribí un SO integrado multitarea la primavera pasada como proyecto final, es más fácil de lo que piensas.
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.
¿Qué tan lejos llegaste escribiendo un SO desde cero? – Jeroen
Debería tener en cuenta MINIX 3. Se trata de un sistema operativo que, según creo, estaba escrito en 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.
Solo poniéndolo ahí ... pero creo que MINIX 1 era <10,000. MINIX 3 es significativamente más complejo, pensé que no sé cuántas líneas es. –
Tome un vistazo a HelenOS, que es un sistema operativo basado en microkernel desde cero que pretende ser un sistema operativo totalmente moderna. 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 necesaria 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 bare metal.
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 quiere ir por la ruta monolítica, solo estudie Linux.
textbook http://ecx.images-amazon.com/images/I/411E3CQQYZL._SS500_.jpg
I utilizarse sistemas operativos y Middleware: Apoyando Interacción Controlada cuando estaba en la universidad. Es probablemente uno de los mejores libros de texto sobre el tema.
Además de los libros, hay muchos sitios que aprenden Desarrollo OS
BrokenThorn Entertainment es el de este sitio web que aprenden dev OS desde la base
- 1. Desarrollar un sistema operativo que no sea x86
- 2. Desarrollo de un sistema operativo
- 3. ¿Hay alguna ventaja para desarrollar en un sistema operativo de 64 bits?
- 4. Desarrollo de un sistema operativo para la arquitectura x86
- 5. Sistema operativo de espacio aislado
- 6. Detectar el sistema operativo
- 7. ¿Es posible escribir un sistema operativo para un teléfono móvil?
- 8. malloc en un sistema integrado sin un sistema operativo
- 9. Sistema operativo recomendado para Visual Studio 2008
- 10. Requisitos del sistema operativo para arc4random_uniform()
- 11. ¿El mejor sistema operativo educativo para estudiar?
- 12. ¿Para qué sistema operativo BlackBerry mínimo debo desarrollarme?
- 13. ¿qué es un sistema operativo sin tics?
- 14. ¿OSX es un sistema operativo POSIX?
- 15. ¿Estoy codificando para un sistema operativo o el procesador?
- 16. El sistema operativo está eliminando el hilo
- 17. Detectar sistema operativo en Clojure
- 18. sistema operativo y aplicaciones WPF
- 19. Actualizar sistema operativo Android programáticamente
- 20. Cómo determinar el sistema operativo
- 21. ¿Qué sistema operativo móvil debo codificar?
- 22. Recursos para desarrollar habilidades de ingeniería de software
- 23. jQuery - detectando el sistema operativo y la versión del sistema operativo
- 24. Diferencias fundamentales entre el sistema operativo Linux y el sistema operativo móvil (Android)
- 25. ¿Algún sistema operativo implementa el almacenamiento en búfer para malloc()?
- 26. Prueba de sistema operativo en tiempo real para dureza
- 27. Pregunta de arranque del sistema operativo básico
- 28. Rubyzip vs compresión de sistema operativo nativo
- 29. Libros de Android en el sistema operativo
- 30. Determine el sistema operativo en .vimrc
Estoy leyendo este libro (segunda edición) de principio a fin mientras hablamos, y si bien es un libro enorme, es increíblemente detallado. Esto y los conceptos del sistema operativo de Silberschatz y Galvin son los dos mejores libros para adquirir conocimientos sobre los sistemas operativos. –