Soy un estudiante interesado en trabajar en la administración de memoria, particularmente en el componente de reemplazo de página del kernel de Linux.
¿Cuáles son las diferentes guías que pueden ayudarme a comenzar a comprender la fuente del núcleo?
He tratado de leer el libro Comprender el administrador de memoria virtual de Linux por Mel Gorman y Comprender el kernel de Linux por Cesati y Bovet, pero no explican el flujo de control a través del código. Solo terminan explicando varias estructuras de datos utilizadas y el trabajo que realizan varias funciones. Esto hace que el código sea más confuso.
Mi proyecto trata de ajustar el algoritmo de reemplazo de página en un núcleo convencional y analizar su rendimiento para un conjunto de cargas de trabajo. ¿Hay un sabor del núcleo de Linux que sería más fácil de entender (si no es el núcleo de Linux-2.6.xx)?
fuente
Respuestas:
Centrarse en las estructuras de datos . Comprender las estructuras de datos suele ser más importante que el código.
Si solo se muestran estructuras de datos pero no hay código, aún se obtiene una visión general del sistema.
Viceversa, si solo se muestra el código pero no las estructuras de datos, es muy difícil entender el sistema.
fuente
Kernel Newbies es bastante bueno, supongo
Hay muchas personas interesadas en aprender cómo funciona el núcleo, creo que es posible que aprendas una o dos cosas allí.
fuente
La opción del depurador podría ser útil.
Algunas cosas más que se pueden hacer después de construir el kernel con la opción del depurador es escribir algunas aplicaciones de prueba de muestra llamando a varias llamadas del sistema que invocarán el kernel y puede atravesar una pieza de código del kernel a la vez y comprender su implementación.
fuente
En la sección de Sistemas operativos del artículo, Lo que todo experto en informática debería saber , Matt Might recomendó Linux Kernel Development by Love . Aunque este es un tema avanzado, el libro está muy bien escrito.
fuente
Una forma de aprender una base de código compleja es ejecutarla en un depurador y ver a dónde te llevan las cosas. Para Linux existe el depurador del kernel de Linux .
fuente