¿Necesito estudiar primero el libro Programación avanzada en un entorno UNIX para aprender a desarrollar controladores para Linux?
¿Puedes manejar la capa inferior sin siquiera entender la capa de aplicación? Además, la "Programación avanzada en el entorno UNIX" no se trata de la capa de aplicación en el verdadero sentido, sino de la API del sistema operativo, que es la llamada al sistema. Vaya y vea qué aplicación utiliza directamente la llamada al sistema.
Las llamadas al sistema son bibliotecas de nivel inferior a la biblioteca estándar C. Son proporcionadas directamente por el sistema operativo y son funciones muy básicas. Lo importante es que describe una gran cantidad de conceptos y métodos de programación a nivel del sistema. Estos conceptos son comunes en muchos otros lugares y son muy significativos incluso en Windows.
Las llamadas al sistema son la interfaz entre el kernel y la capa de aplicación. Si comprende esta capa, puede escribir aplicaciones en la capa superior y escribir módulos del kernel en la capa inferior. a fondo.
"Programación avanzada en entorno UNIX" es una muy buena manera de aprender el sistema operativo (el "sistema operativo" mencionado en la universidad es una completa tontería. Escriba más bifurcaciones y eche un vistazo). la estructura task_struct en el código del kernel. Después de un tiempo, ¿sabes qué es un proceso, pero aún tienes que memorizar esos conceptos obsoletos o incluso incorrectos? En el futuro, sabrá lo importantes que son cuando lea libros sobre el kernel. De hecho, sin conocimientos de programación a nivel de sistema, todavía le resultará difícil leer el kernel directamente (aún necesitará saber estas cosas después). todo).
Todavía depende de cómo lo leas. "Programación avanzada en entorno UNIX" no dice nada sobre la programación del kernel.