2008-10-31 18 views

Respuesta

43

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.

+3

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. –

14

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í.

+7

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. –

9

Os dev sitio es rico en información si quieres empezar a programar su propio sistema operativo también,

9

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.

alt text http://ecx.images-amazon.com/images/I/51TJXR8CV3L._SL500_BO2,204,203,200_AA219_PIsitb-sticker-dp-arrow,TopRight,-24,-23_SH20_OU01_.jpg

+2

¿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

+0

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

+0

Siempre he oído hablar de The Dino Book y estoy de acuerdo en que es un libro de texto de pregrado. –

3

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).

1

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.

0

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.

2

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.

+0

¿Qué tan lejos llegaste escribiendo un SO desde cero? – Jeroen

1

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.

http://www.minix3.org/

+0

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. –

4

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.

0

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

Cuestiones relacionadas