Anda di halaman 1dari 40

Gestin de archivos

Archivos
Entrada al programa
Salida de la aplicacin guardada en
archivos para almacenamiento a largo
plazo
Trminos:
Campo, registro, archivo, base de datos

Operaciones:
Recuperar, insertar, borrar, actualizar

Sistemas de gestin de
archivos. Objetivos
Capacidad de realizar las operaciones sobre
archivos que requiera el usuario
Garantizar validez de datos en archivos
Optimizar rendimiento
sistema: productividad
usuario: tiempo de respuesta

Ofrecer soporte de E/S


Minimizar prdidas o destruccin de datos
Proporcionar soporte de E/S para mltiples
usuarios

Arquitectura de S.A.
Programa usuario

Pila

Secuencial

Secuencial
indexado

Indexado

Hash

Entrada/Salida lgica
Supervisor bsico de E/S
Sistema de archivos bsico
Controlador de disco

Controlador de cinta

Arquitectura de S.A.
Gestores de dispositivos
comienzo de las operaciones de E/S en un dispositivo
terminacin de un pedido de E/S

Sistema de archivos bsico


E/S fsica
trata con intercambio de bloques de datos

Supervisor bsico de E/S


iniciacin y terminacin de toda la E/S con archivos
planificacin de acceso para optimizar rendimiento

E/S lgica
Mantiene datos bsicos de un archivo
rabaja con registros lgicos

Mtodo de acceso
Refleja diferentes estructuras de archivos

Organizacin de archivos

Organizacin de archivos
Acceso rpido
necesario cuando se accede a un registro solo
no necesaria en procesamiento por lotes

Facilidad de actualizacin
Economa de almacenamiento
mnima redundancia en los datos
redundancia puede usarse para acelerar accesos como por
ejemplo un ndice

Mantenimiento simple
Confiabilidad

Organizacin de archivos
Pilas
datos se recogen en el orden en que llegan
el propsito es acumular una masa de datos y
guardarla
registros pueden tener campos diferentes
no hay estructura
acceso a registros por bsqueda exhaustiva

Organizacin de archivos
Pilas

Organizacin de archivos
Archivo secuencial

formato fijo usado para registros


registros de la misma longitud
todos los campos son iguales
un campo es el campo clave
identifica unvocamente al registro
los registros se almacenan en secuencia por la clave

Organizacin de archivos
Archivos secuenciales
nuevos registros se colocan en un archivo de
registro (log file) o archivo de transacciones
Peridicamente actualizacin por lotes
mezclando el archivo de registro con el
archivo maestro

Organizacin de archivos
Archivos secuenciales
Campo clave

Organizacin de archivos
Archivos secuenciales indexados
indice para proveer rpido alcance a la cercania del
registro deseado
contiene un campo clave y un puntero al archivo principal
se busca en el ndice el valor clave ms alto que sea igual o
menor que el valor clave deseado
la bsqueda contina en el archivo principal y la ubicacin
indicada por el puntero

Organizacin de archivos
Archivos secuenciales indexados
los nuevos registros se agregan a un archivo de
desbordamiento
se actualiza el registro que precede al nuevo para
contener un puntero al nuevo registro
el archivo de desbordamiento se mezcla con el
principal durante un proceso en lotes
mltiples ndices para el mismo campo clave pueden
aumentar la eficiencia

Organizacin de archivos
Archivos secuenciales indexados
Niveles
ndice 2
1

<Principal

Desbordamiento

Organizacin de archivos
Archivos indexados
usan mltiples ndices para diferentes
campos claves
puede contener un ndice exhaustivo para
contener una entrada por cada registro en el
archivo principal
puede contener un ndice parcial

Organizacin de archivos
Archivo indexado
Indice
exhaustivo

Indice
exhaustivo

Indice
parcial

Organizacin de archivos
Archivos directos o de dispersin
(hash)
accede directamente a bloques en una
direccin conocida
campo clave requerido para cada registro

Directorios de archivos
Informacin de archivos
Atributos, ubicacin, propietario

Es un archivo de propiedad del sistema


operativo
Provee mapeo entre nombres de archivos
y los archivos mismos

Estructura simple para


directorio
Estructura simple para directorio
Lista de entradas, una por cada archivo
Archivo secuencial con el nombre del archivo como clave

Dos Niveles
Un directorio para cada usuario y un directorio raz

Estructura en rbol
Directorio raz con los directorios de usuario debajo
Cada usuario puede tener sus subdirectorios
Los archivos se localizan siguiendo la trayectoria desde el raz

Comparticin de archivos
Forma de controlar acceso a un archivo
particular
Se otorga a los usuarios o grupos de
usuarios ciertos derechos de acceso a un
archivo
Ninguno, conocimiento, ejecucin, lectura, adicin, actualizacin,
cambio de proteccin, borrado

Accesos simultneos
El usuario puede bloquear el archivo
entero cuando lo actualiza
El usuario puede bloquear los registros
individuales durante la actualizacin
Se tratan aspectos de exclusin y bloqueo
mutuo

Mtodos de agrupacin de
registros.Divisin en bloques
Bloques fijos

R5

R6

R7

R8

Pista

Datos

Desperdicio por registro en bloque

Huecos diseo hardware

Desperdicio debido al tamao fijo de registros

Desperdicio por bloque en pista

Mtodos de agrupacin de
registros.Divisin en bloques
Bloques de longitud variable sin tramos
R1

R2

R6

R4

R3

R7

R8

Pista 1

R5

R9

R10

Pista 2

Datos

Desperdicio por registro en bloque

Huecos diseo hardware

Desperdicio debido al tamao fijo de registros

Desperdicio por bloque en pista

Mtodos de agrupacin de
registros.Divisin en bloques
Bloques de longitud variable con tramos
R1

R6

R2

R7

R3

R8

R4

R9

R4

R9 R10

R5

R6

Pista 1

R11 R12 R13

Pista 2

Datos

Desperdicio por registro en bloque

Huecos diseo hardware

Desperdicio debido al tamao fijo de registros

Desperdicio por bloque en pista

Gestin del almacenamiento


secundario
El problema de asignar y liberar espacio
es parecido al de multiprogramacin con
particiones variables
fragmentacin
compactacin
en sistemas paginados conviene que las
pginas contiguas lgicamente sean
contiguas fsicamente

Asignacin previa
Necesita el tamao mximo del archivo en
el tiempo de creacin
Difcil estimar el tamao mximo potencial
del archivo
Tiende a sobreestimar el tamao para no
quedarse sin espacio

Tamao de seccin
Contiguidad de espacio aumenta
rendimiento
Gran nmero de pequeas secciones
aumenta el tamao de las tablas
necesarias
Tamao fijo simplifica la reasignacin de
espacio
Tamao variable minimiza el desperdicio
de almacenamiento sin usar

Mtodos de asignacin
Asignacin contigua
fragmentacin
inconveniente para archivos que crecen
sobreestimacin del espacio requerido
cuando un archivo se hace ms grande que
el espacio que ocupa, hay que transferirlo a
otra rea

Asignacin contigua
Tabla Asignacin Archivos (FAT)

A
0

B
10

11

12

13

14

15

16

17

18

19

23

24

27

28

29

32

33

34

C
20

21

22
E

25

26
D

30

31

nombre
A
B
C
D
E

comienzo
2
9
18
30
26

Longitud
3
5
8
2
3

Mtodos de asignacin
Asignacin encadenada
asignacin sobre bases de bloques individuales
cada bloque contiene un puntero al prximo bloque en la cadena
solamente una entrada por cada archivo en la tabla de asignacin
de archivos
comienzo de bloque y tamao del archivo
No hay fragmentacin
Cualquier bloque libre se puede agregar a la cadena
No se acomoda al principio de cercana

Asignacin encadenada
FAT
B
0

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

Archivo
...
B
...

Bloque inic. Long.


...
1
...

...
5
...

Mtodos de asignacin
Asignacin indexada
la tabla de asignacin de archivos contiene
un ndice separado de un nivel para cada
archivo
el ndice tiene una entrada para cada seccin
asignada al archivo
la tabla de asignacin de archivos contiene el
nmero de bloque del ndice

Asignacin indexada por bloques


FAT

B
0

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

Archivo
...
B
...

1
8
3
14
28

Bloque de ndice
...
24
...

Gestin del espacio libre


As como se debe asignar el espacio a los
ficheros, tambin se debe gestionar el
espacio libre
Es necesario saber qu bloques estn
disponibles en el disco
Se necesita una tabla de asignacin de
disco adems de la tabla de asignacin
de archivos

Tablas de bits
Este mtodo utiliza un vector que contiene
un bit por cada bloque en el disco
Cada entrada 0 corresponde a un bloque
libre
cada 1 a uno en uso

Ventajas:
Trabaja bien con cualquier mtodo de
asignacin
Estructura tan pequea como sea posible

Secciones libres encadenadas


Las porciones libres se pueden encadenar
usando un puntero y valor de longitud en
cada seccin libre
Sobrecarga de espacio insignificante
Apropiado para todos los mtodos de
asignacin
Fragmentacin

Indexacin
Trata el espacio libre como un fichero y
utiliza una tabla de ndices como la
descripta en asignacin
Por motivos de eficiencia, el ndice se
debera usar en base a secciones de
tamao variable en lugar de bloques
Hay una entrada por cada seccin libre en el
disco

Proporciona soporte eficiente a todos los


mtodos de asignacin

Lista de bloques libres


A cada bloque se le asigna un nmero
secuencialmente
La lista de los nmeros de todos los bloques
libres se mantiene en una porcin reservada
del disco