Cómo ver el código fuente del kernel de Linux
Para leer el código fuente sin problemas, es mejor tener algunos conocimientos previos sobre el código fuente de antemano. En mi opinión, para el código fuente del kernel de Linux, los requisitos más básicos son 1. Tener un conocimiento básico del sistema operativo 2. Estar familiarizado con el lenguaje C, preferiblemente con conocimientos del lenguaje ensamblador y las extensiones GNU C del lenguaje C estándar; . aprender. Además, antes de leer, también debes comprender la distribución general del código fuente del kernel de Linux. Sabemos que los sistemas operativos modernos generalmente constan de gestión de procesos, gestión de memoria, sistemas de archivos, controladores, redes, etc. Si observa el código fuente del kernel de Linux, encontrará que cada directorio corresponde aproximadamente a uno de los aspectos. El código fuente del kernel de Linux consta de las siguientes partes (asumiendo que es relativo al directorio de Linux):
arch Este subdirectorio contiene el código del kernel relevante para la arquitectura de hardware soportada por el código fuente del kernel.
include Este directorio contiene la mayoría de los archivos de inclusión del kernel. También hay un subdirectorio para cada arquitectura compatible.
init Este directorio contiene el código de inicio del kernel.
mm Este directorio contiene todo el código de administración de memoria. El código de administración de memoria relacionado con una arquitectura de hardware específica se encuentra en el directorio arch/*/mm, como arch/i386/mm/fault.c para X86.
Controladores Todos los controladores de dispositivos del sistema se encuentran en este directorio.
ipc Este directorio contiene el código principal de comunicación entre procesadores.
modulos Este directorio contiene módulos cargados dinámicamente.
fs Código del sistema de archivos soportado por Linux. Los diferentes sistemas de archivos tienen diferentes subdirectorios; por ejemplo, un sistema de archivos ext2 corresponde a un subdirectorio ext2.
Kernel El código principal del kernel. El código relacionado con la arquitectura del procesador se encuentra en los directorios arch/*/kernel.
net La porción de red del código del kernel. Cada uno de estos subdirectorios corresponde a algún aspecto de la red.
lib Este directorio contiene el código de la biblioteca del kernel. El código de la biblioteca relacionado con la arquitectura del procesador se coloca en el directorio arch/*/lib/.
scripts Este directorio contiene archivos de script utilizados para configurar el kernel.
Documentación Este directorio contiene documentación de referencia.
Como dice el refrán: “Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas”. Leer un programa tan complejo como el código del kernel de Linux puede resultar desalentador. Es como una bola de nieve que se hace cada vez más grande; leer una parte del kernel a menudo requiere varios otros archivos relacionados y pronto olvidas lo que estás haciendo. Por tanto, es imposible prescindir de una buena herramienta. Dado que la mayoría de los entusiastas están familiarizados con la plataforma Windows y es una plataforma de la serie Windows de uso común, aquí presentaré una herramienta de software en Windows: Source Insight. Este software es gratuito durante 30 días y se puede descargar desde www.sourcedyn.com. La instalación es muy sencilla. Al igual que otras instalaciones, simplemente haga doble clic en el nombre del archivo de instalación y siga las instrucciones. Una vez que se completa la instalación, puede iniciar el programa. El software es muy fácil de usar y una gran herramienta para leer el código fuente. Su uso se describe brevemente de la siguiente manera: Primero, seleccione Nuevo en el menú del proyecto, cree un nuevo proyecto, ingrese el nombre del proyecto y luego agregue el código fuente que se le pedirá que lea (puede agregar el directorio completo) y el software. Actualizará el código fuente que agregó. Realizará el análisis. Una vez que se completa el análisis, estará listo para leer. Para un archivo de lectura abierto, si desea ver la definición de una variable, primero coloque el cursor en la variable y luego haga clic en la opción correspondiente en la barra de herramientas, se mostrará la definición de la variable. Lo mismo ocurre con las definiciones e implementaciones de funciones. No entraré en detalles sobre otras funciones aquí. Los amigos interesados pueden instalar Source Insight, lo que hará que su lectura del código fuente sea mucho más eficiente. ¿Qué te parece? ¡Pruébalo!