La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Sistema de archivos TGR Sistemas Operativos 14/10/2013.

Presentaciones similares


Presentación del tema: "Sistema de archivos TGR Sistemas Operativos 14/10/2013."— Transcripción de la presentación:

1 Sistema de archivos TGR Sistemas Operativos 14/10/2013

2 Ejemplo i-nodos Mínimo de accesos a disco para: open(/var/spool/mail/alumnos/bujuan, O_RDONLY); Las entradas de subdirectorios están todas en el 1er bloque de su dir. padre salvo: alumnos (en el 4º bloque) y bujuan (en el 2º bloque) Cachés de i-nodos y datos vacías inicialmente.

3 Ejemplo i-nodos 1er bloque de / 1er bloque de var 1er bloque de spool 4º bloque de mail 2º bloque de alumnos

4 Ejemplo i-nodos (2) Bloques de 2KB i-nodos con 12 dir. directas, 1 indir. simple, 1 indir. doble y 1 indir. triple. Dirección de bloque de 4 bytes El archivo bujuan ocupa 6MB ¿Cuántos bloques se necesitan para almacenarlo?

5 Ejemplo i-nodos (2) El archivo ocupa 6 MB = 6 x 1024 KB. Como cada bloque son 2KB, ocupa (6 x 1024)/2 = 3072 bloques Pero el sistema de i-nodos también ocupa sitio En un bloque de índices nos caben (2K)/4 = 2048/4 = 512 direcciones Los 12 primeros bl. de datos se obtienen directamente desde el i-nodo Los 512 siguientes requieren 1 bloque indirecto simple

6 Ejemplo i-nodos (2) En el siguiente nivel tenemos 1 bloque indirecto doble que permite indexar hasta 512 bloques indirectos simples. Como nos quedan 3072-(512+12)=2548 bloques de datos por indexar, en grupos de 512 tendríamos:2548/512=4,97 es decir 5 bloques indirectos simples Solución: 3072 datos + 1 ind. simple + 1 indir. doble + 5 indir. simples = 3079 bloques

7 Ejemplo i-nodos (3) A continuación, después del open, hacemos lseek(fd, ,SEEK_SET); ¿Cuántos bloques tengo que leer de disco si, inmediatamente después, quiero ejecutar esto? c=fgetc(fd); Nota: = 4 x 2 20

8 Ejemplo i-nodos (3) Los primeros 4 x 2 20 bytes se numeran 0 … (4 x ) Están almacenados en los primeros (4 x 2 20 )/(2 x 2 10 ) bloques = 2 x 2 10 bloques = 2048 bloques y se numeran 0 … 2047 El byte número 4 x 2 20 está en el 2049-ésimo bloque (en número, el 2048). Los 12 primeros bloques (0 … 11) van por índice directo Los 512 siguientes (12 … 523) van por indirecto simple Los 512x512 siguientes (524 … – 1) siguientes van por indirecto doble. Como 2048 está en ese intervalo … Solución: 1 indir. doble + 1 indir. simple + 1 datos = 3 bloques

9 Ejemplo i-nodos (4) Sabiendo que 1 i-nodo ocupa 128 bytes El número de i-nodo de / es el 2, el de bujuan es el 35 y se empieza a contar en el i-nodo 1 La boot ocupa 1 bloque y el superbloque ocupa 8 bloques Los bloques lógicos empiezan a contar en el 0 ¿En qué bloque lógico se encuentra el i-nodo de /? ¿y el i-nodo de de bujuan ?

10 Ejemplo i-nodos (4) Solución 1 i-nodo ocupa 128 B = 2 7 B 1 bloque son 2 KB = 2 x 2 10 B = 2 11 B = (2 11 /2 7 ) i-nodos = 2 4 i-nodos = 16 i-nodos El bloque lógico 0 es la boot, los bloques lógicos 1..8 son el superbloque El bloque 9 contiene los i-nodos 1 al 16. Por tanto: bloque lógico de / = 9 El bloque 10 contiene los i-nodos 17 al 32. El bloque 11 contiene los i-nodos 33 al 48. Por tanto: bloque lógico de bujuan = 11


Descargar ppt "Sistema de archivos TGR Sistemas Operativos 14/10/2013."

Presentaciones similares


Anuncios Google