sistema de ficheros
DESCRIPTION
Sistema de Ficheros. 5.1 Ficheros 5.2 Directorios 5.3 Implementación del sistema de ficheros 5.4 Ejemplos de sistemas de ficheros. Capítulo 5. Almacenamiento de información a largo plazo. Ficheros (1). - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: Sistema de Ficheros](https://reader036.vdocuments.mx/reader036/viewer/2022082214/568148ad550346895db5c02e/html5/thumbnails/1.jpg)
1
Sistema de Ficheros
Capítulo 5
5.1 Ficheros 5.2 Directorios 5.3 Implementación del sistema de ficheros 5.4 Ejemplos de sistemas de ficheros
![Page 2: Sistema de Ficheros](https://reader036.vdocuments.mx/reader036/viewer/2022082214/568148ad550346895db5c02e/html5/thumbnails/2.jpg)
2
Almacenamiento de información a largo plazo
1. Almacenar grandes cantidades de datos (más de lo que cabe en el espacio virtual de direccionamiento)
2. La información debe vivir más allá de la terminación del proceso que la utiliza (persistencia)
3. Múltiples procesos quieren acceder a la misma información concurrentemente
Solución: almacenar la información en unidades llamadasFicheros
Sistema Operativo: Gestor de Ficheros (Sistema de Ficheros)
Veremos: la perspectiva del usuario y la del SO
Ficheros (1)
![Page 3: Sistema de Ficheros](https://reader036.vdocuments.mx/reader036/viewer/2022082214/568148ad550346895db5c02e/html5/thumbnails/3.jpg)
3
Ficheros. (Nombrado) (2)
Extensiones típicas de un fichero
![Page 4: Sistema de Ficheros](https://reader036.vdocuments.mx/reader036/viewer/2022082214/568148ad550346895db5c02e/html5/thumbnails/4.jpg)
4
Ficheros. (Estructura) (3)
• 3 tipos de estructuración(a) Secuencia de bytes (Unix, Windows): interpreta el usuario(b) Secuencia de registros: la unidad de R/W es el registro(c) Árbol, cada nodo contiene una clave
![Page 5: Sistema de Ficheros](https://reader036.vdocuments.mx/reader036/viewer/2022082214/568148ad550346895db5c02e/html5/thumbnails/5.jpg)
5
Ficheros. (Tipos) (4)
Varios tipos de ficheros.
Windows: regulares, directoriosUnix: regulares, directorios, especiales, pseudoficheros
Regulares: información del usuario, del tipobinarios: ejecutables, archivosASCII: líneas de texto acabadas en: cr o
lf (UNIX), o crlf (MSDOS)Directorios: mantienen la estructura del sistema de ficherosEspeciales de caracteres: impresora, terminal, networkEspeciales de bloques: discos, disquettes
![Page 6: Sistema de Ficheros](https://reader036.vdocuments.mx/reader036/viewer/2022082214/568148ad550346895db5c02e/html5/thumbnails/6.jpg)
6
Ficheros. (Acceso) (5)
• Acceso secuencial– Lee todos los bytes/registros desde el principio
– No puede saltar, solo rebobinar
– Adecuado con cintas magnéticas
• Acceso aleatorio– Se leen bytes/registros en cualquier orden
– Esencial para bases de datos
– En la lectura …
• Se da la posición desde donde leer, o …
• Seek, read
![Page 7: Sistema de Ficheros](https://reader036.vdocuments.mx/reader036/viewer/2022082214/568148ad550346895db5c02e/html5/thumbnails/7.jpg)
7
Ficheros. (Atributos) (6)
![Page 8: Sistema de Ficheros](https://reader036.vdocuments.mx/reader036/viewer/2022082214/568148ad550346895db5c02e/html5/thumbnails/8.jpg)
8
Ficheros. (Operaciones) (7)
1. Create
2. Delete
3. Open
4. Close
5. Read
6. Write
7. Append
8. Seek
9. Get attributes
10.Set Attributes
11.Rename
Leer la sección 6.1.7. La sección 6.1.8 no entra para el examen
![Page 9: Sistema de Ficheros](https://reader036.vdocuments.mx/reader036/viewer/2022082214/568148ad550346895db5c02e/html5/thumbnails/9.jpg)
9
Directorios. (de un nivel) (1)
Directorios (folders, carpetas): estructuran el sistema deficheros.
Es simple, fácil de implementar.Colisión de nombres (solo un espacio de nombrado)Tampoco útil con un solo usuario (miles de ficheros)
![Page 10: Sistema de Ficheros](https://reader036.vdocuments.mx/reader036/viewer/2022082214/568148ad550346895db5c02e/html5/thumbnails/10.jpg)
10
Directorios. (de dos niveles) (2)
Cada usuario tiene su propio directorio
Identificación del usuarioAcceso a ficheros que no son del usuario (p.e. del sistema)
![Page 11: Sistema de Ficheros](https://reader036.vdocuments.mx/reader036/viewer/2022082214/568148ad550346895db5c02e/html5/thumbnails/11.jpg)
11
Directorios. (jerárquico) (3)
![Page 12: Sistema de Ficheros](https://reader036.vdocuments.mx/reader036/viewer/2022082214/568148ad550346895db5c02e/html5/thumbnails/12.jpg)
12
Directorios. (Path Names) (4)
Nombre absoluto
Nombre relativoDirectorio de trabajo
Entradas: . ..
![Page 13: Sistema de Ficheros](https://reader036.vdocuments.mx/reader036/viewer/2022082214/568148ad550346895db5c02e/html5/thumbnails/13.jpg)
13
Directorios. (Operaciones) (5)
1. Create
2. Delete
3. Opendir
4. Closedir
5. Readdir
6. Rename
7. Link
8. Unlink
![Page 14: Sistema de Ficheros](https://reader036.vdocuments.mx/reader036/viewer/2022082214/568148ad550346895db5c02e/html5/thumbnails/14.jpg)
14
Implementación del sistema de ficheros. (Estructura) (1)
Master Boot Record
Direcciones de comienzo y fin
activa
PowerOn: BIOS lee y ejecuta MBR; MBR localiza partición activa, lee y ejecuta el boot block
![Page 15: Sistema de Ficheros](https://reader036.vdocuments.mx/reader036/viewer/2022082214/568148ad550346895db5c02e/html5/thumbnails/15.jpg)
15
Implementación del sistema de ficheros. (implementación de ficheros) (2)
¿En qué bloques del disco está el contenido de un fichero?
Asignación contigua
![Page 16: Sistema de Ficheros](https://reader036.vdocuments.mx/reader036/viewer/2022082214/568148ad550346895db5c02e/html5/thumbnails/16.jpg)
16
Implementación del sistema de ficheros. (implementación de ficheros) (3)
¿En qué bloques del disco está el contenido de un fichero?
Asignación contigua (ventajas)- Fácil implementar- ¿Dónde están los bloques de un fichero?
- dirección del primer bloque- número de bloques
- buen rendimiento en lectura: solo 1 seek 1 rotación
Asignación contigua (desventajas)- Encontrar un hueco lo bastante grande- Hay que conocer el tamaño final del fichero- La compactación es cara- Adecuado para CDs
![Page 17: Sistema de Ficheros](https://reader036.vdocuments.mx/reader036/viewer/2022082214/568148ad550346895db5c02e/html5/thumbnails/17.jpg)
17
Implementación del sistema de ficheros. (implementación de ficheros) (4)
¿En qué bloques del disco está el contenido de un fichero?
Lista encadenada
![Page 18: Sistema de Ficheros](https://reader036.vdocuments.mx/reader036/viewer/2022082214/568148ad550346895db5c02e/html5/thumbnails/18.jpg)
18
Implementación del sistema de ficheros. (implementación de ficheros) (5)
¿En qué bloques del disco está el contenido de un fichero?
Lista encadenada
- No fragmentación externa, SI fragmentación interna - En la entrada al directorio: dirección del primer bloque - Mal para acceso aleatorio
- La cantidad de bytes en un bloque no es potencia de 2- los programas R/W en potencias de 2- hay que acceder a dos bloques
![Page 19: Sistema de Ficheros](https://reader036.vdocuments.mx/reader036/viewer/2022082214/568148ad550346895db5c02e/html5/thumbnails/19.jpg)
19
Implementación del sistema de ficheros. (implementación de ficheros) (6)
¿En qué bloques del disco está el contenido de un fichero?
Lista encadenada utilizando una tabla en memoria
File Allocation Table
![Page 20: Sistema de Ficheros](https://reader036.vdocuments.mx/reader036/viewer/2022082214/568148ad550346895db5c02e/html5/thumbnails/20.jpg)
20
Implementación del sistema de ficheros. (implementación de ficheros) (7)
¿En qué bloques del disco está el contenido de un fichero?
Lista encadenada utilizando una tabla en memoria (FAT)
Ventajas:- Todo el bloque para datos- Acceso aleatorio mejorado- Entrada al directorio: primer bloque
Desventajas:- Toda la tabla debe estar en memoria. disco: 20Gb; bloque: 1K; nº entradas: 20 millones tamaño de la entrada: 3 bytes; tamaño de la tabla: 60 Mb (en memoria)
![Page 21: Sistema de Ficheros](https://reader036.vdocuments.mx/reader036/viewer/2022082214/568148ad550346895db5c02e/html5/thumbnails/21.jpg)
21
Implementación del sistema de ficheros. (implementación de ficheros) (8)
¿En qué bloques del disco está el contenido de un fichero?
I-node
![Page 22: Sistema de Ficheros](https://reader036.vdocuments.mx/reader036/viewer/2022082214/568148ad550346895db5c02e/html5/thumbnails/22.jpg)
22
Implementación del sistema de ficheros. (implementación de ficheros) (9)
¿En qué bloques del disco está el contenido de un fichero?
I-node
Ventajas:-Solo en memoria el i-node del fichero abierto- Tabla de i-nodes residentes en memoria (para todos los procesos)- Tabla de ficheros abiertos (por proceso)- Cada proceso tiene un máximo de ficheros abiertos
Desventajas:- Los punteros indirectos aumentan el tiempo de búsqueda de bloques
![Page 23: Sistema de Ficheros](https://reader036.vdocuments.mx/reader036/viewer/2022082214/568148ad550346895db5c02e/html5/thumbnails/23.jpg)
23
Implementación del sistema de ficheros. (implementación de directorios) (10)
Cada entrada al directorio mantiene los bloques de disco del fichero y sus atributos
(a) Entrada: nombre, atributos y bloques de disco (MSDOS, Windows)(b) Entrada: nombre y nº i-node (Unix)
![Page 24: Sistema de Ficheros](https://reader036.vdocuments.mx/reader036/viewer/2022082214/568148ad550346895db5c02e/html5/thumbnails/24.jpg)
24
Implementación del sistema de ficheros. (implementación de directorios) (11)
Cada entrada al directorio mantiene el nombre del fichero: longitud fijaMSDOS: 8+3; Unix V.7: de 1 a 14¿Longitud del nombre variable y más grande?
![Page 25: Sistema de Ficheros](https://reader036.vdocuments.mx/reader036/viewer/2022082214/568148ad550346895db5c02e/html5/thumbnails/25.jpg)
25
Implementación del sistema de ficheros. (implementación de directorios) (12)
(a) Entrada al directorio de longitud variable- Cuando se elimina queda un hueco de tamaño variable
(b) Entrada al directorio de longitud fija- los nombres de los ficheros al final del directorio- ventaja: no huecos de longitud variable
Búsqueda lineal en el directorio lenta (si muchas entradas)
Mejor: tabla hash en cada directorioOpción: memoria caché
![Page 26: Sistema de Ficheros](https://reader036.vdocuments.mx/reader036/viewer/2022082214/568148ad550346895db5c02e/html5/thumbnails/26.jpg)
26
Implementación del sistema de ficheros. (ficheros compartidos) (13)
link
![Page 27: Sistema de Ficheros](https://reader036.vdocuments.mx/reader036/viewer/2022082214/568148ad550346895db5c02e/html5/thumbnails/27.jpg)
27
Implementación del sistema de ficheros. (ficheros compartidos) (14)
Problema: si las entradas contienen las direcciones de discoLa entrada de B contiene una copia de la entrada de CSi B o C hacen crecer el fichero, solo se modifica una entrada
Solución 1: i-nodes
![Page 28: Sistema de Ficheros](https://reader036.vdocuments.mx/reader036/viewer/2022082214/568148ad550346895db5c02e/html5/thumbnails/28.jpg)
28
Implementación del sistema de ficheros. (ficheros compartidos) (15)
Solución 2: enlaces simbólicos (ficheros tipo link)
- No presentan el problema anterior: si el propietario elimina el fichero, el contenido del fichero link indica un fichero que no existe.
- Además, un enlace simbólico puede enlazar ficheros en otros nodos.
- Presenta otros problemas:- sobrecarga por tener el nombre y no el i-node- Un i-node extra por cada enlace simbólico- Un enlace simbólico es un alias: un fichero varios nombres:
ojo al recorrer el sistema de ficheros
![Page 29: Sistema de Ficheros](https://reader036.vdocuments.mx/reader036/viewer/2022082214/568148ad550346895db5c02e/html5/thumbnails/29.jpg)
29
Implementación del sistema de ficheros. (gestión de espacio en disco) (16)
¿Cómo almacenar en disco los n bytes de un fichero?
- N bytes contiguos en disco.- ¿y si el fichero crece?
- En bloques (contiguos o no) de tamaño fijo
¿Tamaño del bloque?- cilindro- pista- sector
Si muy grande (cilindro): desperdiciotamaño medio de un fichero: 1K1 bloque: 32kse desperdicia el 97% del espacio
![Page 30: Sistema de Ficheros](https://reader036.vdocuments.mx/reader036/viewer/2022082214/568148ad550346895db5c02e/html5/thumbnails/30.jpg)
30
Implementación del sistema de ficheros. (gestión de espacio en disco) (17)
Si muy pequeño: muchos accesos: muy lento. Ejem:
pista: 217 bytes = 131072 bytestiempo de rotación: 8,33 mstiempo medio de posicionamiento: 10 ms
Para leer un bloque de k bytes:Tpos. = 10 msTrot. = 8,33/2 = 4,165 msTtra. = (k/131072) * 8,33
Si el bloque se muy pequeño, prima los tiempos de posicionamientoy de espera de rotación.
![Page 31: Sistema de Ficheros](https://reader036.vdocuments.mx/reader036/viewer/2022082214/568148ad550346895db5c02e/html5/thumbnails/31.jpg)
31
Implementación del sistema de ficheros. (gestión de espacio en disco) (18)
Todos los ficheros son de 2k
Tamaño del bloque (bytes)
![Page 32: Sistema de Ficheros](https://reader036.vdocuments.mx/reader036/viewer/2022082214/568148ad550346895db5c02e/html5/thumbnails/32.jpg)
32
Implementación del sistema de ficheros. (gestión de espacio en disco) (19)
¿Cuáles son los bloques libres?(a) Lista enlazada de bloques libres; (b) mapa de bits
![Page 33: Sistema de Ficheros](https://reader036.vdocuments.mx/reader036/viewer/2022082214/568148ad550346895db5c02e/html5/thumbnails/33.jpg)
33
Implementación del sistema de ficheros. (gestión de espacio en disco) (20)
¿Cuáles son los bloques libres?
Disco de 16Gb, tamaño del bloque: 1kNúmero de bloques: 24*230/210 = 224
32 bits para direccionar un bloque (¿por qué no 24?)
¿Cuánto ocupa cada método si disco vacío?
• Lista enlazada.- 1kb/4bytes = 255 dir. por bloque (+ 1 puntero)- 224/255 = 65793 bloques de 1kb
(b) Mapa de bits- 224 bits /(210*23) = 211 (2048) bloques de 1k
El epígrafe Disk Quotas (Cuotas de disco) (pág. 415) no entra para el examen
![Page 34: Sistema de Ficheros](https://reader036.vdocuments.mx/reader036/viewer/2022082214/568148ad550346895db5c02e/html5/thumbnails/34.jpg)
34
Implementación del sistema de ficheros. (fiabilidad del sistema de ficheros) (21)
El hardware es fácil sustituirlo (solo dinero)Si se pierde el sistema de ficheros ¡¡desastre!!
BackupsLa información se pierde por errores hardware, fuego, …La información se pierde por acciones del usuario (rm *)Ejemplo de recuperación: papelera de Windows
Los backups consumen tiempo y espacio
¿Backup de todo el sistema de ficheros o de parte de él?- los fichero del sistema no son necesarios- los ficheros temporales tampoco- los especiales (/dev) no tiene sentido
Solo hacer respaldo de parte del sistema de ficheros
![Page 35: Sistema de Ficheros](https://reader036.vdocuments.mx/reader036/viewer/2022082214/568148ad550346895db5c02e/html5/thumbnails/35.jpg)
35
Implementación del sistema de ficheros. (fiabilidad del sistema de ficheros) (22)
¿Hacer respaldo de los que no han sufrido modificaciones?NO: Backup incremental
- hacer un respaldo completo cada semana (mes)- hacer un respaldo diario de sólo los que han cambiado- minimiza la cantidad de espacio necesario- Dificulta la restauración
¿Se comprimen los datos en el respaldo?- Ojo con los errores en la superficie de la cinta
¿Cuándo realizar el respaldo?- Los ficheros pueden estar en uso- Se pueden estar creando/borrando ficheros- Offline (de noche)
¿Dónde guardar los respaldos?
![Page 36: Sistema de Ficheros](https://reader036.vdocuments.mx/reader036/viewer/2022082214/568148ad550346895db5c02e/html5/thumbnails/36.jpg)
36
Implementación del sistema de ficheros. (fiabilidad del sistema de ficheros) (23)
Backup físicoCopiar a cinta desde el bloque 0 al último bloque del disco
- simple- copia bloques libres (vacíos)
- utilizar lista de bloques libres y no copiarlos- ahora cada bloque debe llevar su número
- copia bloques malos- no incremental, copia todo, NO SE UTILIZA
Backup lógico- copia sólo la información (ficheros y directorios) seleccionada- diferentes algoritmos
(Leer el ejemplo de algoritmo de backup lógico de la páginas 419-421)
![Page 37: Sistema de Ficheros](https://reader036.vdocuments.mx/reader036/viewer/2022082214/568148ad550346895db5c02e/html5/thumbnails/37.jpg)
37
Implementación del sistema de ficheros. (fiabilidad del sistema de ficheros) (24)
Consistencia del sistema de ficheros
Por fallos hw o soft fallan lecturas/escrituras de bloques críticos:El sistema de ficheros queda en un estado inconsistente.
Programas que validan la consistencia del sistema de ficheros:- fsck (Unix)- scandisk (Windows)
Dos tipos de operaciones:- consistencia de bloques- consistencia de ficheros
¿Cómo se valida la consistencia de bloques?
![Page 38: Sistema de Ficheros](https://reader036.vdocuments.mx/reader036/viewer/2022082214/568148ad550346895db5c02e/html5/thumbnails/38.jpg)
38
Implementación del sistema de ficheros. (fiabilidad del sistema de ficheros) (25)
Consistencia del sistema de ficheros (bloques)
(a) Consistente (b) Bloque perdido (c) Bloque duplicado en la lista de libres(d) Bloque de datos duplicado
(c) (d)
![Page 39: Sistema de Ficheros](https://reader036.vdocuments.mx/reader036/viewer/2022082214/568148ad550346895db5c02e/html5/thumbnails/39.jpg)
39
Implementación del sistema de ficheros. (fiabilidad del sistema de ficheros) (26)
Consistencia del sistema de ficheros (ficheros)
Tabla de ficheros: una entrada por ficheroRecorrer el sistema de ficheros. Por cada aparición de un fichero,Incrementar en 1 su entrada a la tabla
Compara esta tabla con la información de los i-nodes (por fichero)
=, el sistema de ficheros es consistente.nlink del i-node > la cuenta calculada; fijar nlinkNlink del i-nolde < la cuenta calculada; fijar nlink
Consistencia del sistema de ficheros (protección)
Bit de protección extraños: 0007
![Page 40: Sistema de Ficheros](https://reader036.vdocuments.mx/reader036/viewer/2022082214/568148ad550346895db5c02e/html5/thumbnails/40.jpg)
40
Implementación del sistema de ficheros. (rendimiento del sistema de ficheros) (27)
-Leer una palabra (32 bits) de memoria 10 nseg.
- Disco que transfiere a 10MB/seg. Leer 1 palabra (4 bytes = 32 bits)4 bytes en 4.10 -7 seg.
-Tiempo de posicionamiento + tiempo de latencia = 5..10 mseg.
- 10 nseg. frente a 10 mseg.
El acceso a disco es un millón de veces más lentoque el acceso a memoria
¿Cómo mejorar el rendimiento del disco?
![Page 41: Sistema de Ficheros](https://reader036.vdocuments.mx/reader036/viewer/2022082214/568148ad550346895db5c02e/html5/thumbnails/41.jpg)
41
Implementación del sistema de ficheros. (rendimiento del sistema de ficheros) (28)
Buffer caché
Para reducir el número de accesos a discoImagen en memoria de algunos bloques de disco
Si el bloque a leer está en la caché, no hace falta acceder a discoSi no está en la caché, traerlo y quitar uno.
![Page 42: Sistema de Ficheros](https://reader036.vdocuments.mx/reader036/viewer/2022082214/568148ad550346895db5c02e/html5/thumbnails/42.jpg)
42
Implementación del sistema de ficheros. (rendimiento del sistema de ficheros) (29)
Buffer caché
¿EL bloque es esencial para mantener la consistencia delsistema de ficheros? (i-nodes, espacio libre, bloques de punterosindirectos)
SI: escribirlo a disco inmediatamenteNO: cache
Datos en la cache pueden perderse: llamada sync (Unix)
MSDOS: escribir inmediatamente a disco cualquier bloque modificado
![Page 43: Sistema de Ficheros](https://reader036.vdocuments.mx/reader036/viewer/2022082214/568148ad550346895db5c02e/html5/thumbnails/43.jpg)
43
Implementación del sistema de ficheros. (rendimiento del sistema de ficheros) (30)
Lectura adelantada
Suposición: lectura secuencial
Cuando se pide un bloque el sistema lee el solicitado y el siguienteo siguientes
Seguir la pista del patrón de acceso de cada fichero abierto
Reducción del movimiento del brazo del disco
- Poner los bloques que se van a acceder en secuencia, cercauno de otro.- Cluster- Cylinder skew
![Page 44: Sistema de Ficheros](https://reader036.vdocuments.mx/reader036/viewer/2022082214/568148ad550346895db5c02e/html5/thumbnails/44.jpg)
44
Implementación del sistema de ficheros. (rendimiento del sistema de ficheros) (31)
(La sección 6.3.8 no entra para el examen)
Reducción del movimiento del brazo del disco