tl
http://www.palacinp.es.tl
• La distribución de Linux no ha
transformado en mucho la arborescencia
• Existe un estándar de sistema de archivos
(FSSTND: File System Standard)
• Las distribuciones Linux más importantes
y algunos Unix respetan este estándar
• Documento disponible en:
– sitio: tsx-11.mit.edu
– directorio: /pub/linux/docs/linux-standards
– archivo: fsstnd-1.2.txt
http://www.palacinp.es.tl
• /bin • /proc
• /boot • /root
• /dev • /sbin
• /etc • /tmp
• /home • /usr
• /lib • /var
• /mnt
http://www.palacinp.es.tl
• Al inicio del sistema el programa de
“booteo” analizará el directorio /boot
• Entre los objetos buscados esta el
archivo map, a través del cual LILO
determinará el lugar del núcleo en el
disco duro
• Sin esta información LILO no puede
cargar en memoria principal
• LILO depositará archivo boot.b, que es
la base de configuración del sector de
booteo http://www.palacinp.es.tl
• Los comandos más importantes están
almacenados en este directorio
• Ejemplo: ls, who, ps etc.
• Menos importantes: /usr/bin
• El colocar un comando en un
directorio o en otro es una elección
perfectamente arbitraria
• Se justificaba en la época de discos
duros rápidos y caros, contra los
lentos y baratos
http://www.palacinp.es.tl
• Todos los controladores (drivers) de
periféricos son accedidos a través
archivos de periféricos
• Son interfaces con los controladores
de periféricos y no contienen nada
• Dos tipos: caracteres y bloques
• No tienen lo que se podría llamar un
tamaño
• Número tamaño sustituido por
número de controlador
http://www.palacinp.es.tl
• Archivos de configuración
• Antiguos sistemas: comandos
administración
• FSSTD dice que solo archivos
configuración
• En algunos casos existe directorio
/etc/rc.d, que contiene scripts
usados en el booteo
• Se pueden almacenar archivos que
serán copiados automáticamente
http://www.palacinp.es.tl
en
• csh.login • mtab
• fstab • mtools
• gettydefs • passwd
• group • profile
• inittab • psdatabase
• issue • securetty
• lilo.conf • shells
• magic • termcap
• motd • ttytype
http://www.palacinp.es.tl
• Directorio personal de los usuarios
• Ventajas:
– usuario se beneficia de su propio
sistema de archivos
– pocos derechos de escritura le son
atribuidos
• Una vez que los usuarios tienen
definido su lugar en un sistema
archivos, es posible definir las limites
de zonas de memoria (quotas)
– un usuariohttp://www.palacinp.es.tl
no podrá monopolizar toda la
• Linux ofrece la posibilidad de
utilizar las bibliotecas de funciones
comunes
• Las bibliotecas compartidas
indispensables al arranque se
encuentran aquí
• Otras bibliotecas se encuentran en
/usr/lib
http://www.palacinp.es.tl
• Es un pseudo-sistema de archivos
• Todos los archivos de este directorio no
ocupan espacio en el disco
• Se trata de construcciones lógicas
• Apuntan hacia programas en memoria
principal que leen información sin la
depositar en el disco duro
• Contiene archivos que permiten
– leer la configuración actual del sistema
– informarse acerca de los procesos en
ejecución
http://www.palacinp.es.tl
• Los archivos más importantes para
iniciar Linux se encuentran en /etc y
/sbin
• Contiene comandos para civilizar Linux
• Se pueden distinguir tres dominios
claves:
– los comandos de sistema generales: init,
swapon, getty, swapoff, mkswap, etc
– los comandos de arranque y detención del
sistema: shudown, fastboot, fasthalt,
reboot, etc
– los comandos que administran el espacio
del disco duro: fsck, e2fsck, mkfs, mke2fs,
http://www.palacinp.es.tl
• Muchas utilerías necesitan un
espacio temporal de
almacenamiento
• Por ejemplo: editores,
compiladores, etc
• Directorio accesible a todo mundo
en lectura/escritura
• En el caso de múltiples usuarios el
directorio debe ser la raíz de otro
sistema de archivos
http://www.palacinp.es.tl
• FSSNT hace diferencia entre zonas
en los usuarios solo pueden leer y
las que solo pueden escribir
• Datos usuario son divididos en
– /usr: datos que los usuarios solo
pueden leer
– /var: datos que los usuarios pueden
leer/escribir
• Usuario común no sabe que
algunos comandos crean datos
bajo su nombre, ejemplo: man
http://www.palacinp.es.tl
✦ La impresión es otro ejemplo, la tarea es
provisoriamente almacenada en los sub-
directorios: /var/spool/lpd.
✦ Otros dominios en los cuales son creados
archivos y tratados a nombre del usuario:
– el lanzamiento por calendarización a intervalos
regulares de comandos y de scripts (comandos
at y cron)
– la transmisión de informaciones (mail)
– el contar con un registro de conexiones o
contabilidad (p.e. archivos .log)
http://www.palacinp.es.tl
Contiene conjunto directorios en los cuales Linux
almacena datos muy importantes
• /usr/X11R6 • /usr/info
• /usr/bin • /usr/lib
• /usr/doc • /usr/local
• /usr/etc • /usr/man
• /usr/games • /usr/sbin
• /usr/include • /usr/src
http://www.palacinp.es.tl
• 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
http://www.palacinp.es.tl
• 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
http://www.palacinp.es.tl
Aplicaciones
sub-sistema
sub- archivos sub-sistema
sub-sistema
sistema de
IPC
E/S procesos
caché
Material
• 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)
http://www.palacinp.es.tl
• Principio: todos los módulos de un
sistema de archivos, vistos del
exterior, presentan las misma rutinas
• Es responsabilidad del núcleo de
convertir las llamadas de sistemas
estándares en las específicas a los
archivos
• Programador no debe preocuparse
del tipo de sistema archivos con el
que trabaja http://www.palacinp.es.tl
Aplicaciones
Cache
Controlador de periféricos
http://www.palacinp.es.tl Material
• 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
http://www.palacinp.es.tl
✦ Controladores sin buffer realizan acceso
directamente en el disco
http://www.palacinp.es.tl
Aplicaciones
1. Lectura Archivo 8. Datos leídos
Tiempo
• 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
http://www.palacinp.es.tl
• 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
http://www.palacinp.es.tl
✦ Controladores orientados bloques:
– pueden trabajar con buffer o sin él
✦ Controladores bloques con buffer
– los datos leídos son entregados al proceso, pero
no se descartan enseguida
– son almacenados en una zona de memoria
– próximo acceso estarán disponibles
✦ Controladores sin buffer
– toda demanda, en las dos direcciones, son
ejecutadas directamente en disco
– al final es seguro que los datos están en disco,
con buffer esto no era seguro
• Linux trata de adaptarse a la
máquina.
• El mismo código debe existir para
diferentes implementaciones y
funcionar de la misma forma
• Elementos del núcleo que dependen
del tipo de procesador son
almacenados en directorios aparte
• En directorio /usr/src/linux/arc se
encuentra un directorio por
microprocesador soportado
• alpha: microprocesador DEC Alpha
• m68k: microprocesadores Motorola
68000 y siguientes: 68020,
68030, etc
• mips: microprocesador MIPS, R3000,
R4000 a R10000
• ppc: microprocesador PowerPC (en
un principio IBM)
• sparc: microprocesadores SPARC de
SUN
• boot
• kernel
• lib
• math-emu
• mm
• Makefile
• config.in
http://www.palacinp.es.tl
• TCP/IP
• Appletalk
• AX25 (radio aficionados)
• IPX (Novell)
• DECnet (DEC)
http://www.palacinp.es.tl
características
http://www.palacinp.es.tl
• 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
/dev/hda1 /dev/hda2
0 1 2 3 0 1 2 3
Bloque Bloque
Pista
Bloque
http://www.palacinp.es.tl
• Se ubica en el bloque cero de todos
los sistemas de archivos
• Contiene programa para lanzar e
inicializar todo el sistema
• Ningún programa usuario tiene
acceso
• El superbloque
• La lista de descripción de los grupos
de bloques
• La imagen de los bloques
• La imagen de los nodos-i
• La tabla de los nodos-i
• Los bloques de datos
• Tamaño total del sistema de archivos,
en bloques o nodos-i
• Número de bloques libres del sistema
• Número de bloques reservados a
nodos-I
• Número de nodos-I libres
• Dirección del primer bloque de datos
• Tamaño de un bloque de datos
• Tamaño de un bloque parcial de datos
• Hora de la última modificación
sistema archivos
• Hora integración (montaje) del
sistema
• número de versión del sistema
• hora de la última verificación del
sistema
• intervalo máximo entre dos
personas
http://www.palacinp.es.tl
• Compuesto por un conjunto de
nodos-i, del mimos tamaño
• Un nodo-i puede presentarse de dos
formas:
– como nodo-I en el disco duro
– cargada en memoria para el
tratamiento
• Nodo-i describe todos las
características de un archivo
• Existe uno por cada archivo físico
• Modo archivo
• Número usuario propietario
• Tamaño, en bytes, del archivo
• Acceso
– hora del último acceso
– hora de la última modificación
– hora de la creación de nodo-i
– hora de la última supresión del nodo-i
• Número de grupo del archivo
• Número de ligas
• Semáforos del nodo-I
• tabla de direcciones del bloque
• derechos de acceso
• tipo de archivo:
– archivo clásico
– directorio
– archivo periférico
– archivo FIFO
– referencia (ejemplo liga simbólica)
Estructura de un nodo-i
1. Dirección indirecta
2. Dirección indirecta
3. Dirección indirecta
Tamaño archivo
Tipo archivo
Propietario
Dirección
directa
…. …. ….
http://www.palacinp.es.tl
Bloques de datos
http://www.palacinp.es.tl
Tabla archivos nivel sistema
• Objetivo: proporcionar acceso paralelo
a los archivos
• A cada archivo abierto le corresponde
una estructura en memoria principal
• Todos los procesos del sistema
acceden a dicha tabla
• Si varios procesos abren el mismo
archivo solo se registrará una entrada
en la tabla
• Es a través de esta tabla que se puede
acceder indirectamente a los nodos-i
http://www.palacinp.es.tl
✦ Es necesario vigilar ciertas consecuencias
✦ Solo existe un solo componente indicando la
localización del archivo
✦ Si un proceso A modifica este valor, esto
tendrá consecuencias para el resto de los
procesos
✦ Si un proceso B ignora lo anterior escribirá
sus datos en un lugar equivocado
✦ Une entrada en la tabla se elimina hasta que
ningún proceso hace referencia al archivo
• Si un proceso quiere abrir un archivo,
este creará una entrada en un tabla
de archivos especifica al proceso
• Tamaño tabla: 256 => un proceso
solo puede abrir 256 archivos al
mismo tiempo
• Los tres primeras entradas están
reservadas a stdin (0), stout (1) y
stderr (2)
http://www.palacinp.es.tl
Relación entre tablas
Dirección del
bloque de datos
disco
duro
Tabla archivos
específica Tabla archivos
al proceso del sistema
Tabla de nodos-I
del sistema
Etapas abertura de un
archivo
• Búsqueda del archivo y asociación con
un nodo-I
– realizada a través función namei()
• Búsqueda, en su sistema de archivos,
del número de nodo-i previamente
determinado
– una vez encontrado se verifican los
permisos y se carga el archivo
• Una entrada es realizada en memoria
para este nodo-i, en la tabla nodos-i a
nivel sistemahttp://www.palacinp.es.tl
✦ 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
http://www.palacinp.es.tl