sistemas operativos: una visión aplicada · • sistema operativo: visión física ligada a...
Post on 12-May-2020
12 Views
Preview:
TRANSCRIPT
Sistemas operativos: una visión aplicada
Capítulo 8Gestión de Archivos y Directorios
Sistemas operativos: una visión aplicada 1 © J. Carretero, F. García, P. de Miguel, F. Pérez
Contenido
• Visión del usuario del sistema de archivos• Archivos• Directorios• Servicios de archivos• Servicios de directorios• Sistemas de archivos• El servidor de archivos• Puntos a recordar
Sistemas operativos: una visión aplicada 2 © J. Carretero, F. García, P. de Miguel, F. Pérez
Visión del usuario
• Visión lógica:– Archivos – Directorios – Sistemas de archivos y particiones
• Visión física: – Bloques o bytes ubicados en dispositivos
Visiónlógica
Visiónfísica
Sistemas operativos: una visión aplicada 3 © J. Carretero, F. García, P. de Miguel, F. Pérez
Función principal
• El SF establece una correspondencia entre los archivos y los dispositivos lógicos.
SISTEMADE
FICHEROS
ProtecciónInte
rfaz
de
acce
so
Sistemas operativos: una visión aplicada 4 © J. Carretero, F. García, P. de Miguel, F. Pérez
Archivos: visión lógica• Conjunto de información relacionada que ha sido definida por su creador • Estructura de un archivo:
– Secuencia o tira de bytes (UNIX, POSIX)
– Registros (de tamaño fijo o variable)
Posición
Registro 1
Registro 3
Registro 2
Registro 4
Registro n
C1
C1
C1
C1
C1
C2
C2
C2
C2
C2
C3
C3
C3
C3
C3
C5
C5
C5
C5
C5
C4
C4
C4
C4
C4
Registro 1
Registro 3
Registro 2
Registro 4
Registro n
C1
C1
C1
C1
C1
C2
C2
C2
C3
C3
C3
C4
C4
C4
C4
C3
C3
C5
C5
Sistemas operativos: una visión aplicada 5 © J. Carretero, F. García, P. de Miguel, F. Pérez
Concepto de archivo
• Un espacio lógico de direcciones contiguas usado para almacenar datos
• Tipos de archivos: – Datos:
• numéricos • carácter • binarios
– Programas: • código fuente • archivos objetos (imagen de carga)
– Documentos
Sistemas operativos: una visión aplicada 6 © J. Carretero, F. García, P. de Miguel, F. Pérez
Ejemplos de representación
Nombre Atrib.
Size KBAgrup. FAT
cabecera AtributosTamañoNombre
Seguridad
Datos
Vclusters
Sistemas operativos: una visión aplicada 7 © J. Carretero, F. García, P. de Miguel, F. Pérez
Nombres de fichero y extensiones II
• Los directorios relacionan nombres lógicos y descriptores internos de ficheros• Las extensiones son significativas para las aplicaciones (html, c, cpp, etc.)
Sistemas operativos: una visión aplicada 8 © J. Carretero, F. García, P. de Miguel, F. Pérez
Byte o registro de
longitud fija
Árbol de registros
Cabecera
Módulo objeto
Cabecera
Módulo objeto
Archivo debiblioteca
Registros de longitudvariable
Distintas estructuras lógicas
Sistemas operativos: una visión aplicada 9 © J. Carretero, F. García, P. de Miguel, F. Pérez
Archivos: visión lógica• Estructura de un archivo:
– Archivos de estructura compleja• Archivos indexados • Archivos directos o de dispersión
– Ejemplo de archivo indexado:
– Los archivos estructurados en registros y los archivos con estructuras complejas se pueden construir como una capa sobre la visión de tira de bytes.
Clave
Registro
Ficheroindice
Fichero principal
Sistemas operativos: una visión aplicada 10 © J. Carretero, F. García, P. de Miguel, F. Pérez
Cabecera de sección 1
Cabecera de sección n
Sección 1
Sección 2
Sección n
Tipo de sección,tamaño de la sección dirección virtual
Otrainformación
Datos con valor inicial
Informaciónde carga
Tabla desímbolos
Datos con valor inicial
Código
Tipo de sección,tamaño de la sección dirección virtual
Cabecera primaria
Número mágico
Número de secciones
Tamaño segmento texto
Tamaño segmento datos
Tamaño datos sin valorinicial
Tamaño tabla de símbolos
Valor inicial de registros
Dirección inicial
Opciones
...
Estructura de archivo ejecutable LINUX
Sistemas operativos: una visión aplicada 11 © J. Carretero, F. García, P. de Miguel, F. Pérez
Archivos: visión lógica y física
• Usuario: Visión lógica.• Sistema operativo: visión física ligada a dispositivos. Conjunto de bloques.
Posición
1
13
25
7
19
4
16
28
10
22
2
14
26
8
20
5
17
29
11
23
3
15
27
9
21
6
18
30
12
24
Bloques de la Unidad de Disco
Archivo ABloques:13
201831619
Visión lógica
Visión física
Sistemas operativos: una visión aplicada 12 © J. Carretero, F. García, P. de Miguel, F. Pérez
Descripción física en UNIX (nodo-i)
Tamaño máximo del archivo: 10Sb+(Sb/4)Sb +(Sb/4)2Sb +(Sb/4)3SbSb el tamaño del bloque y direcciones de bloques de 4 bytes.
Tipo de Fichero y ProtecciónNúmero de Nombres
PropietarioGrupo del Propietario
TamañoInstante de creación
Instante del último accesoInstante de la última modificación
Puntero a bloque de datos 0Puntero a bloque de datos 1
Puntero a bloque de datos 9Puntero indirecto simplePuntero indirecto doblePuntero indirecto triple
nodo-i
Punterosa Bloquesde Datos
Punterosa Bloquesde Datos
Punterosa Bloquesde Datos
Punterosa Bloquesde Datos
Punterosa Bloquesde Datos
Punterosa Bloquesde Datos
Sistemas operativos: una visión aplicada 13 © J. Carretero, F. García, P. de Miguel, F. Pérez
Descripción física en MS-DOS (FAT)
• FAT de 12 bits 4K agrupaciones • FAT de 16 bits 64K agrupaciones
<eof>
<eof>
<eof>
<eof>
pep_dir dir 5 27
fiche1.txt 12 45
Directorio RaízNombre Atrib. KB Agrup.
Directorio pep_dir
carta1.wp R 24 74
prue.zip 16 91 7576
91
51
74
45
58
27
FAT
7576
58
92
Nombre Atrib. KB Agrup.
Sistemas operativos: una visión aplicada 14 © J. Carretero, F. García, P. de Miguel, F. Pérez
Ejemplo: explorador de Windows
Sistemas operativos: una visión aplicada 15 © J. Carretero, F. García, P. de Miguel, F. Pérez
NombreNodo-i: Puntero al descriptor del archivo
Directorio de CP/M
NombreTipo de archivo
Contadorde bloques
Código deusuario
archivoextendido
Númerosde bloque
. . .
Directorio de MS-DOS
Directorio de UNIX
NombreTipo de archivo Reservado
Atributos Fecha Tamaño
Hora
Númerodel primer bloque
Ejemplo de entradas de directorio
Sistemas operativos: una visión aplicada 16 © J. Carretero, F. García, P. de Miguel, F. Pérez
Directorio de un nivel
• Un único directorio para todos los usuarios• Problemas de nombrado y agrupación
Directorio
Archivos
carta mapa.gif lista.txt programa.o... ...
... ...
Sistemas operativos: una visión aplicada 17 © J. Carretero, F. García, P. de Miguel, F. Pérez
Directorio de dos niveles
• Un directorio por cada usuario• Camino de acceso automático o manual• El mismo nombre de archivo para varios usuarios• Búsqueda eficiente, pero problemas de agrupación
Directoriomaestromarivi miguel elvira... ...
archivos... ...
Directoriodel usuario
datos lista.c claves... ...
archivos... ...
Directoriodel usuario
test agenda claves... ...
archivos... ...
Directoriodel usuario
mail lista.c mio.o... ...
Sistemas operativos: una visión aplicada 18 © J. Carretero, F. García, P. de Miguel, F. Pérez
Directorio con estructura de árbol
• Búsqueda eficiente y agrupación• Nombres relativos y absolutos -> directorio de trabajo
Directorioraíz
tmp home usr... ...
marivi miguel elvira...
test agenda claves
sh rm vi
bin include mail
mio.o
buzonstdio.h
datos lista.c claves
correo agenda
Sistemas operativos: una visión aplicada 19 © J. Carretero, F. García, P. de Miguel, F. Pérez
Directorio de grafo acíclico I
• Tienen archivos y subdirectorios compartidos• Este concepto no existe en Windows
Directorioraíz
tmp home usr... ...
marivi miguel elvira...
test agenda claves
sh rm vi
bin include mail
buzonstdio.h
datos lista.c claves
clavescorreo agenda
Sistemas operativos: una visión aplicada 20 © J. Carretero, F. García, P. de Miguel, F. Pérez
Interpretación de nombres en LINUX. I
claves
textos
758
3265
.
.....
.
..
Sistemas operativos: una visión aplicada 21 © J. Carretero, F. García, P. de Miguel, F. Pérez
Sistemas de archivos y particiones
• Volumen: conjunto coherente de metainformación y datos. • Ejemplos de Sistemas de archivos:
Boot Dos copiasde la FAT
DirectorioRaíz
Datos yDirectorios
Boot nodos-iSuperBloque
Mapasde bits
Datos yDirectorios
MS-DOS
UNIX
Sistemas operativos: una visión aplicada 22 © J. Carretero, F. García, P. de Miguel, F. Pérez
Montado de Sistemas de archivos o particiones
/
/lib /bin /usr
/
/d1 /d2 /d3
/d3/f2/d3/f1
/
/lib /bin /usr
/usr/d1 /usr/d3
/usr/d3/f2/usr/d3/f1
Volumen raiz(/dev/hd0)
Volumen sin montar(/dev/hd1)
mount /dev/hd1 /usr
Volumen montado
Sistemas operativos: una visión aplicada 23 © J. Carretero, F. García, P. de Miguel, F. Pérez
stat.Obtiene información sobre un archivo
• Descripción:– Obtiene información sobre un archivo y la almacena en una estructura de
tipo struct stat :
struct stat {mode_t st_mode; /* modo del archivo */ino_t st_ino; /* número del archivo */dev_t st_dev; /* dispositivo */nlink_t st_nlink; /* número de enlaces */uid_t st_uid; /* UID del propietario */gid_t st_gid; /* GID del propietario */off_t st_size; /* número de bytes */time_t st_atime; /* último acceso */time_t st_mtime; /* última modificacion */time_t st_ctime; /* último modificacion de datos * /
};
Sistemas operativos: una visión aplicada 24 © J. Carretero, F. García, P. de Miguel, F. Pérez
Partición 2
Partición 3
Partición 5Partición 4
Tipos de particiones
Sistemas operativos: una visión aplicada 25 © J. Carretero, F. García, P. de Miguel, F. Pérez
Sistemas de archivos y particiones (II)
• Sistema de archivos: conjunto coherente de metainformación y datos. • Ejemplos de Sistemas de archivos:
Boot Dos copiasde la FAT
DirectorioRaíz
Datos yDirectorios
Boot nodos-iSuperBloque
Mapasde bits
Datos yDirectorios
MS-DOS
UNIX
Sistemas operativos: una visión aplicada 26 © J. Carretero, F. García, P. de Miguel, F. Pérez
Tamaño de Bloque
ancho de banda
uso del disco
Anc
ho d
e B
anda
(K
byte
s/se
c)
Uso
del
Esp
acio
de
Dis
co
0
50
100
500
800
256 512 1K 2K 4K 8K 16K 32K
0
100 %
25
50
75
Tamaño bloque, ancho banda y uso disco
Sistemas operativos: una visión aplicada 27 © J. Carretero, F. García, P. de Miguel, F. Pérez
Estructuras de sistemas de archivos
Sistemas operativos: una visión aplicada 28 © J. Carretero, F. García, P. de Miguel, F. Pérez
Superbloque de sistemas de archivos en LINUX
Sistemas operativos: una visión aplicada 29 © J. Carretero, F. García, P. de Miguel, F. Pérez
Estructura del FFS
Sistemas operativos: una visión aplicada 30 © J. Carretero, F. García, P. de Miguel, F. Pérez
Partición Lógica
Disco 0
bloque 0
bloque 4
bloque 3bloque 2bloque 1
Partición delsistema
Conjunto de bandas
Disco 1 Disco 2 Disco 3
Estructura de un sistema de archivos con bandas
Sistemas operativos: una visión aplicada 31 © J. Carretero, F. García, P. de Miguel, F. Pérez
Estructura del servidor de archivos
Proceso deUsuario 1
Proceso deUsuario 2
Proceso deUsuario 3
Proceso deUsuario n
. . .Nivel deusuario
Nivel desistema
Manejadores de Dispositivo
Servidor de Bloques
Módulo de Organización de Archivos
Cache de Bloques
ext2 msdos ffs . . .
. . .
proc
Sistema de Archivos Virtual
Sistemas operativos: una visión aplicada 32 © J. Carretero, F. García, P. de Miguel, F. Pérez
Estructura de un nodo virtual de UNIX
nodo-v
Direcciones delas operaciones
virtuales
Direcciones delas operaciones
específicas de SA
Dirección delnodo-i
específico
Información del archivo
virtual
nodo-i
Tabla de funciones
del SA
Sistemas operativos: una visión aplicada 33 © J. Carretero, F. García, P. de Miguel, F. Pérez
Descomposición en operaciones de bloques
• Archivos con estructura de bytes – Escritura leer
Fichero (tira de bytes)Fichero (tira de bytes)
Bloques
Sistemas operativos: una visión aplicada 34 © J. Carretero, F. García, P. de Miguel, F. Pérez
Descomposición en operaciones de bloques (II)
• Archivos de registros de tamaño fijo
R1 R2 R3 R4 R5 R6
R1 R2R3 R4 R5 R6R3
R6
Bloque 2Bloque 1 Bloque 3
Bloque 1 Bloque 2 Bloque 3
Sistemas operativos: una visión aplicada 35 © J. Carretero, F. García, P. de Miguel, F. Pérez
Flujo de datos en el S. de A.
Usuario
read (fd, buffer, tamaño)
tamaño
buffer
bloques del archivo
bloques del dispositivo
bloques del disco
archivo lógico(VFS)
archivo lógico(FFS)
Manejador de disco y
dispositivo
Bloques lógicos(Servidor
de bloques)
3
1340
1340
1756
1756
840
840
8322
8322
4 5 6
Sistemas operativos: una visión aplicada 36 © J. Carretero, F. García, P. de Miguel, F. Pérez
Tablas que usa el servidor de archivos
Tabla de archivos abiertos. P1
234563563678
01234
fd
Tabla de archivos abiertos. P3
2300534465326
01234
fd
Tabla de archivos abiertos. P2
230563983247
01234
fd
Tabla intermedia de nodos-i y posiciones
Tabla de nodos-i
98 456234898
Nodo-i Posición
98
Sistemas operativos: una visión aplicada 37 © J. Carretero, F. García, P. de Miguel, F. Pérez
Mecanismos enlazados
• Listas o índices enlazados: desde cada entrada de un bloque existe un enlace al siguiente bloque del archivo.
• Ejemplo: tabla FAT de Windows
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
archivo A: 6 8 4 2
archivo B: 5 9 12
archivo C: 10 3 13
FAT
Sistemas operativos: una visión aplicada 38 © J. Carretero, F. García, P. de Miguel, F. Pérez
Mapa de bloques en un nodo-i
nodo-i
Bloque indirecto
Indirecto simple
Indirecto doble
Indirecto triple
Direcciones delos 10 primeros
bloques
Información del archivo
820
1134
675
10211
8204
2046
20464
342
1623
DISCO
...
...
Sistemas operativos: una visión aplicada 39 © J. Carretero, F. García, P. de Miguel, F. Pérez
Ejemplo de listas de recursos
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
Bloques libres 7 14 16 1711 18 (A)
Bloques libres 11,1 16,314,17,1 (B)
Sistemas operativos: una visión aplicada 40 © J. Carretero, F. García, P. de Miguel, F. Pérez
Cache de bloques (II)
• Estructura de datos en memoria con los bloques más frecuentemente utilizados
– Lecturas adelantadas – Limpieza de la cache (sync)
• Principal problema: fiabilidad del sistema de archivos.
Disco
Proceso
Disco
Cache
Proceso
Cache
Sistemas operativos: una visión aplicada 41 © J. Carretero, F. García, P. de Miguel, F. Pérez
Flujo datos con cache de bloques
Usuario
read (fd, buffer, tamaño)
tamaño
buffer
bloques del archivo
bloques del dispositivo
bloques del disco
archivo lógico(VFS)
archivo lógico(FFS)
Manejador de disco y
dispositivo
Bloques lógicos(Servidor
de bloques)
Cache de bloques(Servidor
de bloques)
3
1340
1340
1756
1756
1756
840
840
8322
8322
8322
4 5 6
Sistemas operativos: una visión aplicada 42 © J. Carretero, F. García, P. de Miguel, F. Pérez
Montado de sistemas de archivos o particiones
• Oculta el nombre del dispositivo físico o partición
• En MS-DOS c:\tmp\datos.txt
/
/lib /bin /usr
/
/d1 /d2 /d3
/d3/f2/d3/f1
/
/lib /bin /usr
/usr/d1 /usr/d3
/usr/d3/f2/usr/d3/f1
Volumen raiz(/dev/hd0)
Volumen sin montar(/dev/hd1)
mount /dev/hd1 /usr
Volumen montado
Sistemas operativos: una visión aplicada 43 © J. Carretero, F. García, P. de Miguel, F. Pérez
Enlace físico
ln /user/pepe/datos.txt /user/juan/datos2.txt
/
usr lib
pepe
user
juan
prog.cdatos.txt
prog.c
...datos.txt
23100
28400
pepe
...
datos2.txt
80100
60 enlaces = 2prueba.txt
datos2.txtprueba.txt
28
descripción del fichero
juannodo-i 28
/
usr lib
pepe
user
prog.c prueba.txtdatos.txt
prog.c
...datos.txt
23100
28400
pepe
...prueba.txt
80100
60
juan
juan
Sistemas operativos: una visión aplicada 44 © J. Carretero, F. García, P. de Miguel, F. Pérez
Enlace simbólico
ln -s /user/pepe/datos.txt /user/juan/datos2.txt
/
usr lib
pepe
user
juan
prog.cdatos.txt
prog.c
...datos.txt
23100
130400
pepe
...
datos2.txt
80100
60prueba.txt
datos2.txtprueba.txt
28
juan
enlaces = 1
/user/pepe/datos.txt
nodo-i 130
enlaces = 1
descripción del fichero
nodo-i 28
/
usr lib
pepe
user
prog.c prueba.txtdatos.txt
prog.c
...datos.txt
23100
28400
pepe
...prueba.txt
80100
60
juan
juan
Sistemas operativos: una visión aplicada 45 © J. Carretero, F. García, P. de Miguel, F. Pérez
Ejemplo de montado
/
= punto de montado
Punto demontado
Sistemas operativos: una visión aplicada 46 © J. Carretero, F. García, P. de Miguel, F. Pérez
Fiabilidad del sistema de archivos• Fallos HW y SW pueden provocar fallos en un volumen • Soluciones:
– Hardware: • Controladores que tratan con sectores con fallos • Discos con información redundante (RAID)
– Backups (copias de respaldo) • En discos
• En cintas • Backups incrementales
A
BA
B
Sistemas operativos: una visión aplicada 47 © J. Carretero, F. García, P. de Miguel, F. Pérez
Redundancia con paridad
Dispositivo RAID
Disco 0 Disco 1 Disco 2 Disco 3
bloque 0
bloque 3
paridadbloque 2bloque 1
Sistemas operativos: una visión aplicada 48 © J. Carretero, F. García, P. de Miguel, F. Pérez
Estado de los bloques
0000
1012 3 n
…
0111
1002 3 n
…
CASO 2
Número de bloque
Referencias
Libres
0000
1112 3 n
…
0111
1002 3 n
…
CASO 1
Número de bloque
Referencias
Libres
0000
1212 3 n
…
0111
1002 3 n
…
CASO 3
Número de bloque
Referencias
Libres
0000
1012 3 n
…
0111
1202 3 n
…
CASO 4
Número de bloque
Referencias
Libres
Sistemas operativos: una visión aplicada 49 © J. Carretero, F. García, P. de Miguel, F. Pérez
Cerrojos
• Tipos: – Compartido – Exclusivo
• Importante para trabajo colaborativo
Fichero
Fichero
Fichero
Cerrojo C
Cerrojo C
Cerrojo C
Cerrojo C
Cerrojo C
Cerrojo C
Cerrojo Ex
Cerrojo Ex
Sistemas operativos: una visión aplicada 50 © J. Carretero, F. García, P. de Miguel, F. Pérez
Gestión de la replicación
GRprimario
GRsecundario
GRsecundario
P 1 P 2
Leer f1Leer f2
Escribir f1
Escribir f1
Escribir f1
Modelo de copia primaria
Gestor deRéplicas
Gestor deRéplicas
Gestor deRéplicas
P 1 P 2
Escribir f1, 2
Escribir f1, 2
Leer f2
Escribir f1, 1
Escribir f1, 2
Escribir f1, 1
Escribir f1, 1
Modelo de gestión colectiva
top related