Filesystem2

Post on 21-Jun-2015

64 views 0 download

Transcript of Filesystem2

Implementacion de F.S.

Asignación espacio

Manejo espacio libre Emely Arráiz

Ene-Mar 08

Manejo del espacio

Métodos de Asignación de espacio– Contigua– Enlazada– Indexada

Contigua

File Name Start BlockLength

FileAFileBFileCFileDFileE

2 39 5

18 830 326 3

0 1 2 3 4

5 6 7 8 9

10 11 12 13 14

15 16 17 18 19

20 21 22 23 24

25 26 27 28 29

30 31 32 33 34

FileA

FileB

FileC

FileE

FileD

Características

El archivo ocupa un conjunto de bloques continuos en el disco.

Archivo definido por base mas longitud Soporta acceso secuencial y directo Dificultad de asignación de espacio o incrementar

el tamaño del archivo.

Enlazada

File Name Start Block End

... ... ...

......FileB 28

...1

0 1 2 3 4

5 6 7 8 9

10 11 12 13 14

15 16 17 18 19

20 21 22 23 24

25 26 27 28 29

30 31 32 33 34

FileB

Características

Archivo definido por primer y ultimo bloque Archivo puede crecer, mientras que existan

bloques libres. No tiene problema de almacenaje, cualquier

bloque libre servirá Acceso directo no soportado de manera eficiente Espacio requerido para el apuntador Poco confiable

File-Allocation Table (FAT)

File-allocation table (FAT) – disk-space allocation used by MS-DOS and OS/2

Indexada

File Name Index Block

...

...

...

...FileB 24

0 1 2 3 4

5 6 7 8 9

10 11 12 13 14

15 16 17 18 19

20 21 22 23 24

25 26 27 28 29

30 31 32 33 34

FileB

1831428

Archivo definido por un índice Soporta acceso directo y secuencial Overhead de espacio con el bloque de índice No hay fragmentación

Características

Unix I-node

Manejo espacio libre

Vector de bits

0 1 2 n-1

bit[i] = 0 block[i] libre

1 block[i] ocupado

Fácil para manejar archivos contiguo

Vector de bits

El mapa de bits requiere de espacio adicional. Ejemplo– Tamano del bloque = 2^12 bytes (4KB).– Tamano del disco = 2^30 bytes(1GB)– n= 2^30/2^12 = 2^18 (32KB 0 8 bloques)

Manejo de espacio libre

Lista enlazada – todos los bloques libres se encuentran

unidos por medio de apuntadores– El requerimiento de espacio contiguo no

puede ser satisfecho fácilmente– Emplea poco espacio. Es decir poco

overhead

Lista enlazada

Grupos– Almacena las direcciones de los bloques libres en

el primer bloque libre– permite encontrar las direcciones de los bloques

libres rápidamente.

Manejo de espacio libre

Counting– Guarda junto con la dirección del primer bloque

libre, el número de bloques contiguos que hay– Requiere de una tabla mas corta que la del

esquema de grupos pero ocupa cada entrada mas espacio.

Manejo de espacio libre

Manejo de espacio libre

Need to protect:– Pointer to free list– Bit map

Must be kept on disk Copy in memory and disk may differ Cannot allow for block[i] to have a situation where bit[i] =

1 in memory and bit[i] = 0 on disk

– Solution: Set bit[i] = 1 in disk Allocate block[i] Set bit[i] = 1 in memory

Implementacion de Directorios

Linear list of file names with pointer to the data blocks– simple to program– time-consuming to execute

Hash Table – linear list with hash data structure– decreases directory search time– collisions – situations where two file names hash

to the same location– fixed size

Desempeno

Cache de disco – se separa un pedazo de memoria para los bloques usados con mas frecuencia.

Crear en memoria discos virtuales o discos RAM (RAM disk)