Sei sulla pagina 1di 30

Diseo y especificacin de estructuras de archivos

UEA: Almacenamiento y Recuperacin de Informacin

Los discos

Son lentos comparados con la memoria. De aqu que las estructuras de datos en memoria no resuelvan los problemas de datos almacenados en disco.

De la memoria se puede obtener un dato en una fraccin de un microsegundo (10 ns). Del disco (10ms) o sea 10 6 veces ms mas de tiempo.

Lo anterior implica que los objetivos para el diseo de especificacin de estructuras de archivos debe enfocar estos problemas.
2

Objetivos

Se desea obtener la informacin buscada con un solo acceso al disco Si eso no es posible se desean estructuras que nos permitan encontrar la informacin con tan pocos accesos al disco como sea posible. Se deben mantener las propiedades anteriores aun cuando el los archivos sufran transformaciones de tamao (crezca, cambien, disminuyan). Las estructuras de datos deben aprovechar los dispositivos de almacenamiento, sean secuenciales o directos (cintas, discos, CDs).

Operaciones fundamentales de procesamiento de archivos

Archivos fsicos: una coleccin de bytes almacenada en un disco. Archivos lgicos: la visin de un programa; se pueden leer y escribir datos, pero el programa no sabe: cmo y dnde. Antes de que un programa use un archivo el sistema operativo lo debe relacionar; un archivo fsico, con uno lgico. A esta operacin se le conoce como apertura tiene varias opciones.

Opciones de apertura
Escritura

Lectura
Agregar Sobre-escritura Combinaciones

de las anteriores Se debe indicar:


si el acceso es secuencial o directo. modos de uso y permisos para distintos usuarios
5

Operacin cerrado (complementaria)

Libera un archivo lgico en el programa, que se puede re-utilizar para otro archivo fsico. Garantiza que toda la informacin enviada al archivo lgico quede almacenada en el archivo fsico. Bajo condiciones normales el sistema operativo se encarga de cerrar todos los archivos, que hayan quedado abiertos al finalizar la ejecucin de un programa (aunque es mejor que sea el programa mismo quien los cierre).
6

Operaciones fundamentales

Lectura y escritura Al nivel ms bajo se cuenta con las siguientes formas:


Lee (archivo, destino, cuenta) Se traduce en que lee cuenta bytes del archivo lgico colocndolas en la direccin destino Escribe(archivo,fuente, cuenta) Se traduce en que escribe cuenta bytes del archivo lgico tomndolas a partir de la direccin fuente Fin de archivo(), nos dice si ya hemos ledo el ltimo dato del archivo.
7

Tipos de operaciones

Secuenciales: cada vez que se realiza una lectura o escritura se avanza una o ms posiciones. Bsqueda: cuando se brinca a alguna posicin especfica del archivo (sabemos que el dato necesario esta all). La funcin requiere de dos argumentos:

busqueda (archivo, posicin);

La posicin se traslada a cierta posicin del archivo lgico.


8

Particularidades de los Archivos y su creacin

Cuando se crea un archivo se debe poner atencin a las peculiaridades del sistema, con el que se trabaja, algunos cambian caractersticas, sin avisar y otros agregan informacin innecesaria (Windows y MS-Dos). Organizan los archivos de forma diferente. En muchos sistemas se hace a travs de directorios. En UNIX y Windows es distinta ( en lo que uno son ventajas, en otro significa que algo sali mal). Dispositivos fsicos como archivos son: consola, teclado, stdin, stout, cin, cout.

Discos
Los

accesos a disco siempre son ms lentos que los accesos a la memoria. Pero no todos los accesos a disco son igual de lentos, lo anterior se debe a la forma en que trabajan los discos. La informacin esta almacenada en una o ms superficies, cada una cuenta con una cabeza de lectura/entrada.
10

Accesos a disco

11

Cada superficie esta dividida en pistas concntricas y cada pista esta dividida en sectores separados por espacios. Un sector es la unidad ms pequea que se puede localizar en un disco. Adems el conjunto de pistas que queda (una arriba de otra) en las diferentes superficies se llama cilindro. La importancia de los cilindros es que se pueden leer todos los datos almacenados en ellos sin mover las cabezas. Esta operacin recibe el nombre de bsqueda.

12

13

14

Cada una de las superficies, pistas, sectores y cilindros tiene una cierta capacidad. As que en trminos del nmero de bytes en un sector tenemos que la:

Capacidad de la pista = (# sectores/pista) * capacidad (sector); Capacidad del cilindro = (# pistas/cilindro) * capacidad (pista); Capacidad del disco = (# cilindro) * capacidad (cilindro);

15

Los sectores en una pista se pueden numerar consecutivamente, esto es, como estn colocados fsicamente, sin embargo es posible que no se puedan leer de esa forma es por eso que a veces se compaginan (interleave; se deja un intervalo de muchos sectores fsicos entre los sectores lgicos) para que no debamos esperar una vuelta completa para leer dos sectores consecutivos. Esto no sucede en discos modernos.
16

17

En ocasiones, los sectores se organizan en grupos consecutivos llamados clusters consistentes en un nmero fijo de sectores contiguos. La idea es que una vez que se localiza un grupo en el disco, se puedan leer todos los sectores del mismo sin realizar ninguna bsqueda. Esta organizacin se suele utilizar en las tablas de asignacin de archivos FAT Allocation Tables (FAT). La FAT, contiene una lista de todos los clusters que constituyen un archivo ordenados de acuerdo al orden lgico de los sectores. Una coleccin de grupos adyacentes que se llama extento.
18

19

20

21

Prdida de espacio

Algunos sistemas operativos pueden decidir cuantos sectores pueden ir en clusters, como era el caso de la VAX. Normalmente todos los sectores de un disco, deberan contener el mismo nmero de bytes (imagine guardar 300 bytes en un sector de 512), pero a veces eso no es posible y entonces se produce una fragmentacin interna, y puede ocurrir a nivel de clusters (grupos). Existe otro tipo de informacin que debe estar en un disco y no esta relacionada con los datos (informacin de formato).

22

Tipos de espera al leer un disco

Tres tipos de espera que pueden ocurrir al leer un disco:

Tiempo de bsqueda (seek), es el requerido para mover el brazo al cilindro correcto. Lo que normalmente se puede conocer es el tiempo de bsqueda promedio 1/3 (tiempo de lado a lado). Espera rotacional, es el tiempo que necesita el disco para girar de modo que el sector deseado se encuentre bajo la cabeza. En promedio 1/2 (tiempo utilizado en una revolucin). Tiempo de transferencia, que se puede calcular como (# bytes transferidos/# bytes en una pista) * tiempo de rotacin.
23

Existen

muchas tcnicas para tratar de minimizar los efectos de estas esperas:


cambiar el tamao de los grupo, usar mltiples discos, paralelismo, discos en memoria, caches, buffers, etc.

24

Cintas Magnticas
Almacenamiento y Recuperacin de Informacin

25

No proporcionan ninguna facilidad para el acceso directo. Contrariamente cuentan con un acceso secuencial muy rpido. Las cintas son pequeas y econmicas Vs. los discos de la misma capacidad. Debido a que son secuenciales no necesitan identificador de posicin. Adems en una cinta la posicin lgica coincide con la fsica.
26

Anatoma de una cinta


marco vaco

0 1 1 0 1 0 0 1 0
vaco Bloque de datos

pista

27

Marco: son los bits que constituyen una sucesin de pistas. Y consta de un byte y un bit de paridad; que no es parte del dato pero se usa para verificar su validez (son datos o no).

Marcos estn agrupados en bloques de datos separados por espacios que no contienen datos. Que permiten parar y comenzar. Los bloques de pocos bytes a kiliobytes, dependiendo de las necesidades del usuario.

Las cintas vienen en diversos tamaos, velocidades y perfiles.


28

Las cintas se clasifican con base en tres parmetros:


Densidad: comnmente 800, 1600 o 6250 bits por pulgada (bpi) por pista, recientemente hasta 30,000 bpi. Velocidad: comnmente 30 a 200 pulgadas por segundo (ips). Tamao de interblock vaco (gap) comnmente entre 0.3 y 0.75 pulgadas Por ejemplo: 6250 bpi en nueve pistas contiene 6250 bits por pulgada por pistas, y 6250 bytes por pulgada cuando el total de las 9 pistas es tomado en conjunto. De esta forma cuando hablamos de 6250 bpi es equivalente a decir 6250 bytes de datos por pulgada.

29

Fin

30

Potrebbero piacerti anche