Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Sistemas Operativos
Sistemas Operativos
directorio
ficheros
directorios
p1.c p2.c func.h func.c p1.tgz notas p1.c p1b.c core
de usuario
ficheros
dict spell
list radc w7
Estructura de grafo acíclico
► El grafo acíclico facilita la compartición de ficheros y
subdirectorios entre usuarios.
Sin embargo, complica los mecanismos de generación de
estadísticas de disco, copia de seguridad, etc.
► Implementaciones:
Información replicada.
► Almodificar un fichero, por consistencia, hay que modificar igualmente
todas sus réplicas.
Una única copia, y enlaces a los ficheros o subdirectorios
compartidos.
► Al borrar un fichero o subdirectorio, se elimina un enlace.
► El fichero o subdirectorio se borra cuando no quedan enlaces a él (se
necesita un contador de referencias).
Estructura de grafo general
► Se permite la aparición de ciclos, enlazando subdirectorios
de nivel superior.
dict spell
18 19 20
Asignación enlazada
► Se ve cada fichero como una
lista enlazada de bloques.
0 1 2 El directorio de dispositivo
almacena la dirección del
primer bloque.
3 4 5 Cada bloque almacena un
puntero al siguiente.
6 7 8 ► No hay fragmentación externa.
Aún así, la compactación puede
mejorar el rendimiento de la
9 10 11 E/S.
► Soporte eficiente sólo para
12 13 14 acceso secuencial.
► El espacio ocupado en punteros
se hace notorio con bloques
15 16 17 pequeños.
► La pérdida de un puntero hace
18 19 20 inaccesible el resto del fichero.
Asignación indexada
► Cada fichero tiene un bloque índice
(BI), con punteros a los bloques
BI 1 2 que almacenan sus datos.
El directorio de dispositivo almacena
la dirección del BI.
3 4 5 ► Soporte eficiente para acceso
secuencial y para acceso directo.
► No hay fragmentación externa.
6 7 8 ► Ficheros pequeños desaprovechan
gran parte de su BI Æ despilfarro
9 10 BI de espacio.
¿Bloques pequeños?
► En el BI caben un determinado
12 13 14 número de punteros Æ tamaño
máximo de los ficheros limitado.
¿Bloques grandes?
15 16 17
18 19 20
Bloques índice enlazados
► El último puntero de un
BI 1 2 bloque índice puede
apuntar a otro bloque
3 BI 5 índice.
No hay limitación de
6 7 8 tamaño.
15 16 17
18 19 20
Bloques índice multinivel
► Los bloques índice de
BI1 BI2 BI2 primer apuntan a bloques
índice de segundo nivel, y
BI2 4 5 así sucesivamente.
6 7 8 ► Sólo apuntan a bloques de
datos los bloques índice de
9 10 11 nivel más bajo.
Sigue habiendo limitación de
12 13 14 tamaño.
► Se accede por igual a
15 16 17 cualquier parte de los
ficheros.
18 19 20
Gestión del espacio libre
Gestión de espacio libre
► La gestión del espacio libre implica:
Buscar y asignar espacio libre cuando se crea un fichero.
Registrar como libre el espacio que ocupaba un fichero que se
borra.
Actualizar el mapa del espacio libre cuando un fichero crece o se
trunca.
► Consideraciones importantes:
Espacio en disco necesario para almacenar el propio mapa de
espacio libre.
Facilidad para encontrar 1 bloque libre o n bloques libres contiguos.
Facilidad para actualizar el mapa de espacio libre.
Vector de bits
► Un bit por cada bloque de disco.
0 1 2
0 Æ bloque libre
3 4 5 1 Æ bloque asignado
6 7 8
101000011101001100000
9 10 11
► Porcuestiones de eficiencia, el
12 13 14
vector se suele cargar en
15 16 17 memoria.
18 19 20
Vector de bits
► Ventajas:
Fácil de implementar y usar con cualquier método de asignación.
Facilidad para encontrar un bloque libre o un conjunto de bloques
contiguos libres.
Actualización sencilla.
101000011101001100000
18 19 20
Lista enlazada de secciones libres
0 ► Cada bloque de la lista
0 1 2 enlazada indica
3
cuántos bloques libres
3 4 5 le siguen.
6 7 8 Mayor eficiencia para la
0 asignación contigua.
9 10 11
1
12 13 14
4
15 16 17
18 19 20
Lista enlazada de bloques índice
► Un bloque índice contiene
0 BI 2 un cierto número de
punteros a bloques libres,
3 4 5 más un puntero a otro
bloques índice.
BI 7 8
Se pueden localizar
rápidamente un gran
9 10 11 número de bloques libres.