Pensé que los libros de W. Stevens eran muy útiles cuando comencé a hacer una programación básica de sistemas de nivel de aplicación, y hoy son tan útiles como lo fueron hace una década [1] [2].
Sin embargo, la pregunta formulada es similar a preguntar “¿Cuál es el mejor libro sobre aprender a conducir?”
Debido a su propia naturaleza, la programación de sistemas es una de esas cosas donde no hay sustituto para la implementación real, los libros no son particularmente útiles.
El código fuente es el mejor libro de texto que puedes encontrar, y en la actualidad hay muchos proyectos de sistemas interesantes que son de código abierto.
- ¿Cuáles son algunos libros de lectura obligatoria para un programador de C ++?
- ¿K&R está sobrevalorado?
- ¿Por qué los libros de desarrollo de software son tan caros?
- ¿Cuáles son algunos libros que debe leer un programador?
- ¿Cuáles son buenos libros para que un aficionado Rubyist lea?
Tome el código fuente de un “sistema” abiertamente disponible de su elección: un servidor web, por ejemplo, es probablemente uno de los más fáciles con los que puede comenzar.
Ensuciarse las manos, corregir errores con él, pasar a un sistema más complejo, repetir repetidamente. Lea el código fuente del kernel para las llamadas al sistema que usan sus aplicaciones y descubra cómo se implementan.
Una vez que esté familiarizado con los sistemas de nivel de aplicación y desee realizar alguna programación del núcleo, busque un trabajo en el campo o participe en un proyecto de código abierto.
Aplique la misma filosofía de aprendizaje en trozos pequeños para desarrollar los principales componentes de los sistemas y, posteriormente, diseñar sus propios sistemas completos.
[1] http://www.amazon.com/Programmin…
[2] http://www.amazon.com/UNIX-Netwo…