Está en la página 1de 26

FACULTAD DE INGENIERIA INDUSTRIAL Y DE SISTEMAS

ADMINISTRACION DE
ARCHIVOS

FACULTAD DE INGENIERÍA INDUSTRIAL Y DE SISTEMAS


ASIGNACION DE ESPACIO DE ALMACENAMIENTO

Los archivos, como colección de datos al almacenarse


en el sistema de archivos se organizan como
colecciones de bloques. Las diferentes formas de estas
organizaciones dan lugar a los siguientes esquemas:
• Asignación contigua o adyacentes
• Asignación enlazada
• Asignación enlazada con índice
• Nodos-i

FACULTAD DE INGENIERÍA INDUSTRIAL Y DE SISTEMAS


ASIGNACION CONTIGUA O ADYACENTE

Todos los bloques que constituyen el archivo se ubican en forma


adyacente en el disco.
Si el disco maneja unidades de almacenamiento de 1K, un archivo de
20 K tendrá asignados 20 bloques consecutivos.
Cada directorio contiene los nombres de los archivos, la dirección del
bloque inicial y el número de bloques que ocupa.

Ventajas:
• Implementación sencilla (saber el inicio + número de bloques).
• Alto rendimiento (se lee en una sola operación)

FACULTAD DE INGENIERÍA INDUSTRIAL Y DE SISTEMAS


ASIGNACION CONTIGUA O ADYACENTE

Desventaja:
• Fragmentación del disco.
• Tener que conocer por anticipado el tamaño del
archivo, al momento de su creación, lo que suele llevar
a los usuarios muchas veces hacen una estimación
excesiva de sus necesidades de espacio, y esto
ocasiona una perdida de espacio en el disco.

FACULTAD DE INGENIERÍA INDUSTRIAL Y DE SISTEMAS


ASIGNACION CONTIGUA O ADYACENTE

directorio
Nombre archivo Bloque de longitud
inicio

……. …. …
3
Archivo A 3 5
7
…… …. ….

4
6

FACULTAD DE INGENIERÍA INDUSTRIAL Y DE SISTEMAS


ASIGNACION CONTIGUA O ADYACENTE

directorio
Archivo A Nombre archivo Bloque de longitud
inicio
0 1 2 3 4

5 6 7 8 9 Archivo A 2 3
Archivo B
10 11
1 12 13
1 14 Archivo B 9 5
1 3

15 16 17 18
1 19
Archivo C 18 8
Archivo
8 C
Archivo D 30 2
20 21 22 23 24
Archivo E Archivo E 27 3
25 26 27 28 29
Archivo D

30 31 32 33 34

FACULTAD DE INGENIERÍA INDUSTRIAL Y DE SISTEMAS


ASIGNACION CONTIGUA O ADYACENTE

Se producirá fragmentación externa, haciendo difícil


encontrar bloques contiguos de espacio de tamaño
suficiente, de cuando en cuando será necesario ejecutar
un algoritmo de compactación.

FACULTAD DE INGENIERÍA INDUSTRIAL Y DE SISTEMAS


ASIGNACION CONTIGUA O ADYACENTE

Realizando la compactación

directorio
Archivo A Nombre archivo Bloque de longitud
0 inicio
1 2 3 4
Archivo B
1 Archivo A 0 3
5 16 7 8 9
Archivo C
1
Archivo B 3 5
10 11 12 13
8 14
Archivo E
Archivo C 8 8
15 16 17 18 19
Archivo D 19 2
Archivo D
20 21 22 23
24 Archivo E 16 3
25 26 27 28 29

30 31 32 33 34

FACULTAD DE INGENIERÍA INDUSTRIAL Y DE SISTEMAS


ASIGNACION ENLAZADA

Cada archivo es una lista enlazada de bloques que pueden estar en cualquier
dirección del disco.
El tamaño del archivo varia en forma dinámica, se asigna bloques a medida
que crece el archivo. Si el archivo decrece libera sus bloques sobrantes y otro
archivo puede utilizarlo al incorporarlo a su lista enlazada.

Cada directorio contiene, el nombre del archivo, un apuntador al primer


bloque de la cadena, cada uno de los siguientes contiene un apuntador al
que sigue.
Los bloques que componen el archivo tiene dos partes: un apuntador al
siguiente bloque y un bloque de datos.

FACULTAD DE INGENIERÍA INDUSTRIAL Y DE SISTEMAS


ASIGNACION ENLAZADA

Ventaja
• Los bloques a usar pueden estar ubicados en cualquier parte del disco, esto
permite asignarlos conforme se requieran (según el crecimiento del archivo)
• Si el archivo decrece se liberan los bloques sobrantes y otro archivo puede
utilizarlos al incorporarlos en su lista enlazada.
• Se puede obtener toda la secuencia de bloques conociendo solo el primer
bloque del archivo.

Desventaja:
• Uso efectivo para archivos secuenciales.
• Para encontrar el i_esimo bloque de un archivo, tenemos que empezar por
el principio de este archivo y seguir los punteros hasta que obtenemos el
bloque i_esimo. El acceso aleatorio a archivos encadenados es lento, ya que la localización de
un bloque determinado requiere el acceso a todos los bloques intermedios en la cadena.

FACULTAD DE INGENIERÍA INDUSTRIAL Y DE SISTEMAS


ASIGNACION ENLAZADA

directorio

7 Nombre archivo Bloque de


inicio
…… ….
3
Archivo A 3
…… …..
5

FACULTAD DE INGENIERÍA INDUSTRIAL Y DE SISTEMAS


ASIGNACION ENLAZADA

directorio
Archivo A Nombre archivo inicio fin
0 1 6 2 3 4
…….. …. ….
5 6 14 7 8 9
Archivo A 22 19
10 11
1 12 13
1 14 16
1 3 …… ….. …..
15 16 19 17 18
1 19 -1
8
20 21 22 1 23 24

25 26 27 28 29

30 31 32 33 34

FACULTAD DE INGENIERÍA INDUSTRIAL Y DE SISTEMAS


ASIGNACION ENLAZADA CON INDICES

Consiste en utilizar el esquema anterior, pero


manteniendo los punteros que forman la lista enlazada en
una estructura aparte de los bloques. Esta es una tabla o
índice, que se mantiene en memoria principal
Resuelve el problema de las asignaciones continuas y
enlazadas, reuniendo todos los punteros en un solo lugar,
el bloque de índice.
La asignación enlazada con índice soporta tanto el
acceso secuencial como el acceso directo a los archivos

FACULTAD DE INGENIERÍA INDUSTRIAL Y DE SISTEMAS


ASIGNACION ENLAZADA CON INDICES

Ventajas
• Dado que el índice es una estructura aparte, su acceso es mas
sencillo
• Todo el índice esta contenido en memoria, por tanto, es posible
seguir la cadena que forma el archivo sin tener que realizar accesos
adicionales al disco.
Desventajas
• El tener toda la tabla en memoria para discos de gran tamaño,
puede consumir cantidad considerable de dicha memoria.

FACULTAD DE INGENIERÍA INDUSTRIAL Y DE SISTEMAS


ASIGNACION ENLAZADA CON INDICES
Enlazada Enlazada con índice

0 0
1
2 10
3
0 1 2 3 4 4 7 El Archivo
4 7 2 10 12 5 comienza aquí
6
Bloque 7 2
Físico 8
9
10 12
11
12 0 El Archivo
13 termina aquí
14 Bloque no utilizado
15
ASIGNACION ENLAZADA CON INDICES

Nombre archivo Bloque de


indice
0
1 2 3 4 …….. …
5
1
16 7 8 9
Archivo B 19
1
10 11 12 13
8 14

15 16 17 18 19 1
24
8
20 21 22 23
3
25 26 27 28 29
14
30 31 32 33 34 21

FACULTAD DE INGENIERÍA INDUSTRIAL Y DE SISTEMAS


ASIGNACION ENLAZADA CON INDICES

Asignación indexada con bloques de longitud variable

Nombre archivo Bloque de


indice
0
1 2 3 4 …….. …
5
1
16 7 8 9
Archivo B 19
1
10 11 12 13
8 14

15 16 17 18 19 Bloque de longitud
inicio
24
20 21 22 23
0 3
25 26 27 28 29 7 4
14 2
30 31 32 33 34

FACULTAD DE INGENIERÍA INDUSTRIAL Y DE SISTEMAS


NODOS-i

Consiste en asociar a cada archivo una pequeña tabla, denominada


nodo-i (nodo índice).

Los atributos y direcciones de los bloques se almacenan en el nodo-i.

Los archivos se asignan en bloques, la asignación es dinámica, no se


emplea asignación previa, por lo tanto, los bloques de un archivo no
tienen por que estar contiguos necesariamente.

Se usa asignación enlazada con índice para seguir la pista de cada


archivo, con parte del índice almacenada en el nodo-i del archivo.

FACULTAD DE INGENIERÍA INDUSTRIAL Y DE SISTEMAS


NODOS-i

En Unix, se define una estructura de datos con 10 punteros a bloques


de datos y posteriormente en función del tamaño del archivo 3
punteros que ya no apuntan al bloque de datos, sino a bloque de
índices, donde cada índice apunta a un bloque de datos.
Por ejemplo si el tamaño de bloque es de 1 Kb, entonces con los 10
primeros apuntadores podríamos acceder de forma directa a 10 Kb.

FACULTAD DE INGENIERÍA INDUSTRIAL Y DE SISTEMAS


NODOS-i

¿Y si es mayor de 10 Kb?
Entonces hay una primera indirección de un apuntador
que apunta a un bloque con punteros de tal forma que si
el bloque es de 1Kb y los punteros son de 4 bytes ,
habrán 256 punteros a bloques de 1Kb ,

Cantidad de punteros = Tamaño del bloque/ Tamaño del puntero.

256 punteros se obtiene dividiendo 1024 / 4

Además si fuera necesario también existe una segunda


indirección y una tercera indirección.

FACULTAD DE INGENIERÍA INDUSTRIAL Y DE SISTEMAS


NODOS-i

En unix la longitud de un bloque es de 1Kb y cada bloque


puede albergar un total de 256 direcciones de bloques,
por lo tanto, el tamaño máximo de un archivo usando este
esquema se aproxima a los 16 Gbytes.
Nivel Numero de Número de
bloques bytes
Directo 10 10 KB
Indirecto simple 256 256 KB
Indirecto doble 256*256=65536 Kb 64 Mb
Indirecto triple 256*256*256 16 Gb
=16777216 Kb

FACULTAD DE INGENIERÍA INDUSTRIAL Y DE SISTEMAS


NODOS-i

1 Kb =1024 bytes
1 Mb= 1024 Kb
1 Gb =1024 Mb
En Linux el tamaño de bloque es de 4K

FACULTAD DE INGENIERÍA INDUSTRIAL Y DE SISTEMAS


Las particiones Fijas (resumen)

Nombre del archivo inodo

Bloque directo 1 datos


Bloque directo 2

Bloque directo 3
Bloque directo 4
datos
Bloque directo 5 indce
Bloque directo 6
Bloque directo 7
indice indice datos
Bloque directo 8
Bloque directo 9
Bloque directo 10
Indirecto simple
Indirecto doble
indice datos
Indirecto triple índice indice

FACULTAD DE INGENIERÍA INDUSTRIAL Y DE SISTEMAS


NODOS-i

Se Requiere ubicar el siguiente archivo: /users/miguel/claves


1. Se traen a memoria las entradas existentes en el archivo con nodo-i 2
2. Se busca dentro de ellas el nombre users y se extrae su nodo-i el 342
3. Se traen a memoria las entradas del archivo con nodo-i 342
4. Se busca dentro de ellas el nombre miguel y se extrae su nodo-i, el 256
5. Se repite el proceso con este nodo-i hasta que se encuentra el archivo claves y se obtiene su nodo-i,
el 758

Nodo-i: puntero a descripción


Física del archivo Directorio Directorio
nombre
Con nodo-i 342 Con nodo-i 256

. 342 . 256
…. 2
2
….. 2 .. .. 342
tmp 43 Maravi 430
Claves 758
Miguel 256
users 342
Textos 3265

Elvira 78
usr 318

FACULTAD DE INGENIERÍA INDUSTRIAL Y DE SISTEMAS


CONTINUA!!

También podría gustarte