Documente Academic
Documente Profesional
Documente Cultură
Cursada 2007
Clase 3
Archivos
Introduccin
La
IBD - CLASE 3
UNLP - Facultad d
Archivos
Introduccin
Almacenamiento
secundario necesita ms
tiempo para tener acceso a los datos que en RAM
Su acceso es tan lento que es imprescindible
enviar y recuperar datos con inteligencia
Al buscar un dato, se espera encontrarlo en el
primer intento (o en pocos)
Si se buscan varios datos, se espera obtenerlos
todos de una sola vez
La informacin est organizada en archivos
Archivo: coleccin de bytes que representa
informacin
IBD - CLASE 3
UNLP - Facultad d
Archivos
Nivel Fsico
Archivos
Hardware
Archivos
Coleccin
de registros guardados en
almacenamiento secundario
Coleccin de datos almacenados en dispositivos
secundarios de memoria
Coleccin de registros que abarcan entidades con
un aspecto comn y originadas para algn propsito
particular
IBD - CLASE 3
UNLP - Facultad d
Archivos
A dos niveles
Archivo
Fsico
Lgico
IBD - CLASE 3
UNLP - Facultad d
Archivos
IBD - CLASE 3
UNLP - Facultad d
Viaje de un byte
Escribir
No es sencillo
un dato en un archivo
ciclos para
de archivos
Buffer
de E/S
Procesador de E/S
Controlador de disco
7
IBD - CLASE 3
UNLP - Facultad d
IBD - CLASE 3
UNLP - Facultad d
IBD - CLASE 3
UNLP - Facultad d
10
IBD - CLASE 3
UNLP - Facultad d
Archivos El viaje de un
Byte
Qu sucede cuando un
programa escribe un byte en
disco?
Operacin
Write()
11
IBD - CLASE 3
UNLP - Facultad d
12
IBD - CLASE 3
UNLP - Facultad d
Archivos El viaje de un
Byte
Tabla
Nombre Abri Acceso PropietarioProteccin
Archivo a Perez
L/E Gomez prop:L/E
otro: L/E
Archivo b Garca
L
Garca prop:L/E
Archivo c Gomez
13
omez
otro: L
prop:L/E
otro: E
IBD - CLASE 3
UNLP - Facultad d
Archivos El viaje de un
Byte
14
IBD - CLASE 3
UNLP - Facultad d
Archivos El viaje de un
Byte
15
IBD - CLASE 3
UNLP - Facultad d
Archivos
Archivos
Tres
aspectos:
de estructura de archivos
Secuencia de bytes
Campos
Registros
16
IBD - CLASE 3
UNLP - Facultad d
Archivos
Secuencia
de bytes
17
IBD - CLASE 3
UNLP - Facultad d
18
IBD - CLASE 3
UNLP - Facultad d
Archivos
Registros
19
IBD - CLASE 3
UNLP - Facultad d
Abrir el archivo
Pos_bus := 0
long_reg := toma_reg( archivo, buffer ) // traslada un reg a un buffer
mientras (long_reg > 0)
pos_bus : = toma_campo (campo, buffer, pos_bus, long_reg)
mientras (pos_bus > 0 )
fin
20
IBD - CLASE 3
UNLP - Facultad d
21
IBD - CLASE 3
UNLP - Facultad d
Archivos
Llave o clave
Se
Objetivo:
Es
22
IBD - CLASE 3
UNLP - Facultad d
Archivos
Llave o clave
Permite
nivoca / Primaria,
Secundaria (gralmente. no identifican un nico
registro)
Forma cannica: forma estndar para una llave,
puede derivarse a partir de reglas bien definidas.
Representacin nica para la llave, ajustada a la
regla
Ej: llave slo con letras maysculas y sin espacios
al final.
Al introducir un registro nuevo, se forma una llave
cannica para ese registro y despus se la busca
en el archivo. Si ya existe, se debe modificar los
campos de la llave para que sea nica
23
IBD - CLASE 3
UNLP - Facultad d
24
IBD - CLASE 3
UNLP - Facultad d
Archivos - Performance
Estudio de performance
En el caso secuencial
25
IBD - CLASE 3
UNLP - Facultad d
Archivos - Performance
26
IBD - CLASE 3
UNLP - Facultad d
Archivos - Performance
27
IBD - CLASE 3
UNLP - Facultad d
Archivos
Archivo serie
Archivo
Archivo secuencial
Archivo
28
IBD - CLASE 3
UNLP - Facultad d
Archivos - Operaciones
Tipos de archivos
Estticos
IBD - CLASE 3
UNLP - Facultad d
Archivos - Mantenimiento
30
UNLP - Facultad d
Archivos - Eliminacin
31
fsica
Baja
lgica
Cuales
Cuales
IBD - CLASE 3
UNLP - Facultad d
Archivos - Eliminacin
Registro
32
IBD - CLASE 3
UNLP - Facultad d
Archivos - Eliminacin
Eliminar
Cualquier
IBD - CLASE 3
UNLP - Facultad d
Archivos - Eliminacin
Eliminar
Compactacin
34
IBD - CLASE 3
UNLP - Facultad d
Archivos - Eliminacin
Eliminar
Aprovechamiento
de espacio
Reg. Longitud fija es necesario
garantizar:
Marca especiales en los reg. borrados (ej:
un * al ppio de un reg. eliminado) Baja
Lgica
Recuperacin del espacio para su
reutilizacin cuando se agreguen registros
35
IBD - CLASE 3
UNLP - Facultad d
Archivos - Eliminacin
Eliminar
Aprovechamiento
36
IBD - CLASE 3
UNLP - Facultad d
Archivos - Eliminacin
Eliminar
Aprovechamiento
IBD - CLASE 3
UNLP - Facultad d
Archivos - Eliminacin
Eliminar
Aprovechamiento
38
IBD - CLASE 3
UNLP - Facultad d
Archivos - Eliminacin
Eliminar
Aprovechamiento
epsilon
39
IBD - CLASE 3
UNLP - Facultad d
Archivos - Eliminacin
Aprovechamiento de espacio
Recuperacin de espacio con reg. de longitud
variable
Marca de borrado al igual que en reg. de long. fija (ej:*)
El problema de los registros de longitud variable est en
que no se puede colocar en cualquier lugar, para poder
ponerlo debe caber, necesariamente.
Lista . No se puede usar NRR como enlace. Se utiliza un
campo binario que explcitamente indica en enlace
(conviene que indique el tamao).
Cada registro indica en su inicio la cant. de bytes.
40
IBD - CLASE 3
UNLP - Facultad d
Archivos - Eliminacin
Aprovechamiento de espacio
Recuperacin
variable
Reutilizacin: buscar el registro borrado de
tamao adecuado (lo suficientemente grande).
Como se necesita buscar, no se puede organizar
la lista de disponibles como una pila.
El tamao adecuado del primer registro
borrado a reutilizar ->origina Fragmentacin
41
IBD - CLASE 3
UNLP - Facultad d
Archivos - Eliminacin
Aprovechamiento de espacio
Fragmentacin
Interna: ocurre cuando se desperdicia espacio
en un registro, se le asigna el lugar pero no lo
ocupa totalmente. Se define un long. y no se
utiliza totalmente.
Ocurre con reg. long. fija, salvo que los
datos reales sean de long. fija
No existe en reg. long. variable cuando se
escribe el archivo por primera vez. Si existe si
se elimina un reg. y se reemplaza por uno
ms corto
Solucin -> el residuo una vez ocupado el
espacio libre, pasa a ser un nuevo reg. Libre.
Si ste es muy chico (no se podr ocupar)
fragmentacin externa
42
IBD - CLASE 3
UNLP - Facultad d
Archivos - Eliminacin
Aprovechamiento de espacio
Fragmentacin
Externa: ocurre cuando el espacio que no se usa es
demasiado pequeo como para ocuparse.
Soluciones:
Unir espacios libres pequeos adyacentes para
generar un espacio disponible mayor (unir los
huecos en el espacio de almacenamiento)
Minimizar la fragmentacin, eligiendo el espacio
ms adecuado en cada caso.
43
IBD - CLASE 3
UNLP - Facultad d
Archivos - Eliminacin
Aprovechamiento de espacio
Estrategias
de colocacin en
registros de longitud variable:
Primer ajuste
Mejor ajuste
Peor ajuste
44
IBD - CLASE 3
UNLP - Facultad d
Archivos - Eliminacin
Primer
ajuste: se selecciona la
primer entrada de la lista de
disponibles, que pueda almacenar
al registro, y se le asigna al mismo.
Minimiza
la bsqueda
No se preocupa por la exactitud del
ajuste
45
IBD - CLASE 3
UNLP - Facultad d
Archivos - Eliminacin
Mejor
46
bsqueda
IBD - CLASE 3
UNLP - Facultad d
Archivos - Eliminacin
Peor
47
IBD - CLASE 3
UNLP - Facultad d
Archivos - Eliminacin
Conclusiones
Las
IBD - CLASE 3
UNLP - Facultad d
Archivos - Operaciones
Modificaciones
Consideraciones
iniciales
Otros
problemas
IBD - CLASE 3
UNLP - Facultad d