Anda di halaman 1dari 59

http://www.palacinp.es.

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 sistema sistema comunicación


seguridad
E/S archivos de procesos inter-procesos

sub-sistema
sub- archivos sub-sistema
sub-sistema
sistema de
IPC
E/S procesos
caché

controlador periférico controlador periférico


parte física periférico parte física periférico

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

Sistema de Archivos Virtual (VFS)

subsistema subsistema subsistema subsistema


ext2 sys V ms-dos proc

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

Sistema de Archivos Virtual (VFS)


2. Lectura bloques 7. Liberación del contenido de la
datos del archivo caché
3. Bloques datos en la caché
Caché

6. Escritura de los bloques de


4. Lectura de los bloques de datos en datos en el caché
la caché
Control de periféricos
5. Lectura de los
bloques de datos
• 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
http://www.palacinp.es.tl
✦ 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
Proc. lectura datos quantum ejecu- lectura
ejecu- ejecu-
A del disponibles terminado ción del
ción ción
archivo archivo
escritura
Proc. datos ejecu-
ejecu- quantum ejecu- en el
A trans- ción
ción terminado ción archivo
feridos
desplegado
Proc. ejecu- fin
ejecu- en
A ción del
ción pantalla
proceso

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

1er trozo 2do trozo

0 1 2 3 0 1 2 3

Bloque Bloque

Pista

Bloque

Sector Disco duro


• Vista usuario: arborescencia
homogénea
• ¿Qué forma tienen los datos y los
archivos en el disco duro?
• Diferentes tipos sistemas archivos:
– Extended Filesystem
– Xia Filesystem
– Extended File System
– Sistema montado
• afbs: Amiga Fast File System
• ext fs: Extended Fyle System
• ext2 fs: Extended Fyle System extendido
• hpfs: High Performance File System
• isofs: sistema ISO 9660 (usado en CD-
ROMs)
• minix fs: MINIX File System
• ncpfs: sistema archivos para clientes
Novell
• proc: pseudo sistema de archivos
• smb fs: Samba File Systems
• sysv fs: Sistema archivos del sistema V
Unix
• ufs fs: Sistema archivos FreeBSD y
Solaris
• umsdos: extensión sistema archivos
MS-DOS
• vfat: sistema dotado tabla asignación
virtual
• xiafs: sistema desarrollado por Qi
Elementos sistema archivos
• Bloque de booteo
• Superbloque
• Tabla de nodos-i
• Bloques de datos
Grupo bloques 1 Grupo bloques 2
Bloque Tabla Bloque Super-
de
Super-
bloque
... de de bloque
...
booteo nodos-i datos

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
…. …. ….

Propiedades del Tabla de las direcciones Informaciones


archivo de los bloques de datos diversas

http://www.palacinp.es.tl
Bloques de datos

• Se ocupan del espacio disponible en


el disco duro para el sistema de
archivos
• Tamaño de cada bloque físico
corresponde a exactamente al de
bloques lógicos

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

Anda mungkin juga menyukai