190 likes | 416 Views
La arquitectura de Linux. Linux no es un bloque monolítico Varios componentes trabajan en conjunto, diseñados por personas diferentes y conjuntados en distribuciones Solo del exterior el núcleo Linux parece una unidad Existe una diferencia entre el núcleo y las aplicaciones.
E N D
La arquitectura de Linux • Linux no es un bloque monolítico • Varios componentes trabajan en conjunto, diseñados por personas diferentes y conjuntados en distribuciones • Solo del exterior el núcleo Linux parece una unidad • Existe una diferencia entre el núcleo y las aplicaciones
Componentes del núcleo • Administración memoria principal • Acceso a los periféricos • Administración del espacio en disco duro • Administración de los programas y los procesos • Administración de los derecho de acceso
Aplicaciones Material El núcleo Linux sub-sistema E/S sistema archivos sistema de procesos comunicación inter-procesos seguridad sub-sistema archivos sub-sistema de procesos sub- sistema E/S sub-sistema IPC caché controlador periférico parte física periférico controlador periférico parte física periférico
El sub-sistema de archivos • Garantiza una administración correcta de los archivos y de los derechos de acceso • La administración varia mucho según el tipo de sistema de archivos • Linux adopto el concepto de VFS (Virtual File System)
E/S en sistemas archivos • Rutinas sistemas archivos transmiten los accesos a los controladores de periféricos • Por cada acceso los bloques de datos necesarios son cargados del disco duro • Acceso a disco duro se hace a través de controladores con buffers • almacenan en memoria principal datos accedidos • esto evita un acceso disco en la próxima lect/esct • datos en RAM por lo que se gana en rapidez
Controladores sin buffer realizan acceso directamente en el disco • Controladores sin buffer realizan acceso directamente en el disco
Aplicaciones Sistema de Archivos Virtual (VFS) Control de periféricos E/S y sistema de archivos 1. Lectura Archivo 8. Datos leídos 2. Lectura bloques datos del archivo 7. Liberación del contenido de la caché 3. Bloques datos en la caché Caché 6. Escritura de los bloques de datos en el caché 4. Lectura de los bloques de datos en la caché 5. Lectura de los bloques de datos
El subsistema de procesos • Asigna zonas aisladas de memoria a cada uno de los programas y controla las demandas de memoria que se realicen • Linux no administra la memoria en el sentido estricto (físico) • Aprovecha que, desde el 80386, los procesadores Intel saben tratar la memoria virtual
También administra el acceso al microprocesador (calendarizador) • Cada proceso esta registrado en una tabla central de procesos, por lo que es posible verificar que procesos están ejecutandose • Para evitar que se apropien del procesador a cada proceso se le asigna un tiempo: quantum • Una vez que el tiempo termine se le interrumpe y se le pone a un lado • Al proceso siguiente le es asignado el procesador
Otras funciones • Implementación del sistema de intercomunicación entre procesos • las colas de mensajes (message queues) • la zonas de memoria común (memoria compartida o shared memory) • los semáforos
Los controladores Linux • Tanto los procesos como el sub-sistema de archivos utilizan los controladores de periféricos • Los principales tipos de controladores se encuentran dentro directorio /usr/src/linux/drivers: block pci char sound net scsi
Protocolos red soportados • TCP/IP • Appletalk • AX25 (radio aficionados) • IPX (Novell) • DECnet (DEC)
Definición sistema archivos • Se refiere a la estructura del soporte físico que le da al usuario de un arborescencia • Elemento base: el bloque: • espacio disco duro se expresa en bloques • los bloques son de 521 bytes • Diferentes tipos sistemas archivos se apoyan sobre diferentes formas: • cada grupo reagrupa los bloques físicos en bloques lógicos de diferente tamaño
0 1 2 3 0 1 2 3 Direccionamiento bloques datos en disco duro /dev/hda1 /dev/hda2 1er trozo 2do trozo Bloque Bloque Pista Bloque Sector Disco duro
Una estructura se crea en la tabla de archivos a nivel sistema • en dicha estructura se encuentran las operaciones especificas al sistema de archivos y el nodo-i • Se le indica al proceso la localización en memoria principal de la estructura que corresponde al archivo accedido • cada proceso administra una tabla de archivos específica a los procesos • en este lugar se encuentra la referencia a la tabla de archivos a nivel sistema