Recomiendo leer dos libros: un texto general (es decir, un libro sobre conceptos y teoría) y un texto de implementación (es decir, un libro sobre un sistema operativo específico).
Para el texto general, recomiendo Conceptos del sistema operativo (2012) de Silberschatz, Galvin y Gagne. También conocido como el “libro de los dinosaurios”, debido a los dinosaurios irrelevantes que adornan las portadas de las muchas ediciones del libro, esta es una gran introducción al diseño del sistema operativo.
Otro favorito es Sistemas operativos (2003) de Deitel, Deitel y Choffnes. Presenta excelentes estudios de caso que ponen en práctica la teoría.
Cualquiera será suficiente. No necesitas los dos.
- ¿Cuáles son algunos excelentes pares de libros con puntos de vista completamente opuestos?
- ¿Qué libros estás leyendo en este momento y qué libros recomiendas?
- ¿Cuáles son los mejores libros para lanzar VCs?
- ¿Cuáles son algunos de los mejores libros geek disponibles?
- ¿Qué escritores rusos tienen contribuciones significativas en la literatura inglesa?
Otros podrían recomendar uno de los libros de Tanenbaum. Servirán para el propósito, pero recomendaría uno de los dos anteriores.
Para un texto sobre una implementación específica, recomendaría ir con Linux, ya que hay excelentes libros sobre el tema y la fuente está disponible gratuitamente. Mi favorito es Linux Kernel Development (2010) de Love (descargo de responsabilidad: sí, yo).
Si desea continuar leyendo, le sugiero otro libro de implementación, esta vez en un sistema operativo lo más alejado posible de Linux. Windows Internals (2009) de Russinovich y Solomon es excelente, incluso cuando te avergüenzas de los compromisos de diseño que hace Windows.
Finalmente, uno de los mejores libros sobre sistemas operativos que he leído es UNIX Systems for Modern Architectures (1994) de Schimmel. Discute cómo un sistema operativo admite SMP, cachés, etc.