No existe un único mejor libro porque depende mucho de su conocimiento previo y experiencia en programación (un experto de AIX que codificó los controladores del kernel de AIX no necesita el mismo libro que un novato en programación).
Suponiendo que desea centrarse principalmente en la programación de aplicaciones de usuario (y conocer un poco de C99) recomendaría la Programación avanzada de Linux (incluso si algunas llamadas recientes del sistema no están cubiertas, pero luego leerá syscalls (2) y descubrirá por usted mismo llama al sistema recientemente como signalfd (2)….). También recomiendo leer Sistemas operativos: tres piezas fáciles si no sabe mucho sobre los sistemas operativos.
Una vez que domine la programación de aplicaciones de usuario y las llamadas al sistema, podrá encontrar una buena programación reciente del kernel de Linux (si desea sumergirse en la programación y los controladores del kernel).
No olvide que Linux es software libre, así que estudie el código fuente de muchos programas (por ejemplo, de algunos shell como bash
o fish
o zsh
y de utilidades de líneas de comando como coreutils
…). Quizás también escriba algunos propios (por ejemplo, escribir un shell simple es un ejercicio muy interesante). Experimente con strace (1) en programas simples de línea de comandos.
- ¿Cuáles son los mejores libros de ciencias políticas para el UPSC?
- ¿Qué libro de referencia es bueno para el décimo tablero para todas las materias?
- ¿A qué libro debo referirme para la sección profesional de oficiales de TI de IBPS?
- ¿Cuáles son los mejores libros para aprender cálculo?
- ¿Qué libros y recursos se deben referir para descifrar el CSE de UPSC?