Descripción general de la estructura del código fuente del kernel de Linux

  

El código fuente del kernel de Linux está ubicado en el directorio /usr /src /linux, su estructura se muestra en la Figura 1.3, cada directorio o subdirectorio puede considerarse como un módulo, entre sus directorios La conexión indica la relación del subdirectorio o submódulo. A continuación se muestra una breve descripción de cada directorio.


El subdirectorio include /contiene la mayoría de los archivos de inclusión necesarios para compilar el código del kernel. Este módulo utiliza otros módulos para reconstruir el kernel.


El subdirectorio init /contiene el código de inicialización del kernel, que es el punto de partida para que el kernel comience a funcionar.


El subdirectorio arch /contiene todo el código del kernel específico del hardware, como se muestra en la Figura 1.3, los módulos i386 y alfa en el subdirectorio arch /y así sucesivamente.


El directorio /drivers contiene todos los controladores de dispositivo en el kernel, como los dispositivos de bloque, los controladores de dispositivo scsi y más.

El directorio fs /contiene código para todos los sistemas de archivos, como ext2, código de módulo vfat y más.


El directorio net /contiene el código de red del kernel.


El directorio mm /contiene todo el código de administración de memoria.


El directorio ipc /contiene código para la comunicación entre procesos.


El directorio kernel /contiene el código del kernel principal


La Figura 1.3 muestra ocho directorios, a saber, init, kernel, mm, ipc, drivers Los archivos de inclusión para fs, arch y net están en el directorio " include /". El kernel de Linux contiene controladores, fs, arcos y módulos de red, lo que hace que el kernel de Linux no sea una estructura jerárquica ni una estructura de microkernel, sino una estructura "holística". Debido a que la llamada del sistema puede llamar directamente a la capa del kernel, esta estructura hace que todo el sistema tenga un mayor rendimiento. La desventaja es que el kernel es difícil de modificar a menos que se sigan reglas estrictas y estándares de codificación.


La estructura del módulo que se muestra en la Figura 1.3 representa una unidad de distribución de trabajo. Con esta estructura, esperamos que Linus Torvalds mantenga y mejore los servicios principales del kernel, es decir, Init /, kernel /, mm /y ipc /, otros controladores de módulos, fs, arch y net también se pueden usar como unidades de trabajo. Por ejemplo, se puede asignar un grupo de personas para mantener y desarrollar aún más el sistema de archivos de bloques, mientras que otro grupo La gente perfecciona el sistema de archivos scsi. La Figura 1.3 es similar al equipo de desarrollo de voluntarios de Linux que trabajan juntos para mejorar y ampliar el marco de todo el sistema.

Copyright © Conocimiento de Windows All Rights Reserved