dise o y especificaci n de estructuras de archivos n.
Skip this Video
Loading SlideShow in 5 Seconds..
Diseño y especificación de estructuras de archivos PowerPoint Presentation
Download Presentation
Diseño y especificación de estructuras de archivos

Loading in 2 Seconds...

  share
play fullscreen
1 / 30
Download Presentation

Diseño y especificación de estructuras de archivos - PowerPoint PPT Presentation

MikeCarlo
185 Views
Download Presentation

Diseño y especificación de estructuras de archivos

- - - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

  1. Diseño y especificación de estructuras de archivos UEA: Almacenamiento y Recuperación de Información

  2. 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 fracción de un microsegundo (10 ns). • Del disco (10ms) o sea 10 6 veces más mas de tiempo. • Lo anterior implica que los objetivos para el diseño de especificación de estructuras de archivos debe enfocar estos problemas.

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

  4. Operaciones fundamentales de procesamiento de archivos • Archivos físicos: una colección de bytes almacenada en un disco. • Archivos lógicos: la visión de un programa; se pueden leer y escribir datos, pero el programa no sabe: cómo y dónde. • Antes de que un programa use un archivo el sistema operativo lo debe relacionar; un archivo físico, con uno lógico. A esta operación se le conoce como apertura tiene varias opciones.

  5. 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

  6. Operación cerrado (complementaria) • Libera un archivo lógico en el programa, que se puede re-utilizar para otro archivo físico. • Garantiza que toda la información enviada al archivo lógico quede almacenada en el archivo físico. • Bajo condiciones normales el sistema operativo se encarga de cerrar todos los archivos, que hayan quedado abiertos al finalizar la ejecución de un programa (aunque es mejor que sea el programa mismo quien los cierre).

  7. Operaciones fundamentales • Lectura y escritura • Al nivel más bajo se cuenta con las siguientes formas: • Lee (archivo, destino, cuenta) • Se traduce en que lee ‘cuenta’ bytes del archivo lógico colocándolas en la dirección destino • Escribe(archivo,fuente, cuenta) • Se traduce en que escribe ‘cuenta’ bytes del archivo lógico tomándolas a partir de la dirección fuente • Fin de archivo(), nos dice si ya hemos leído el último dato del archivo.

  8. Tipos de operaciones • Secuenciales: cada vez que se realiza una lectura o escritura se avanza una o más posiciones. • Búsqueda: cuando se brinca a alguna posición específica del archivo (sabemos que el dato necesario esta allí). La función requiere de dos argumentos: • busqueda (archivo, posición); • La posición se traslada a cierta posición del archivo lógico.

  9. Particularidades de los Archivos y su creación • Cuando se crea un archivo se debe poner atención a las peculiaridades del sistema, con el que se trabaja, algunos cambian características, sin avisar y otros agregan información innecesaria (Windows y MS-Dos). • Organizan los archivos de forma diferente. En muchos sistemas se hace a través de directorios. En UNIX y Windows es distinta ( en lo que uno son ventajas, en otro significa que algo salió mal). • Dispositivos físicos como archivos son: consola, teclado, stdin, stout, cin, cout.

  10. Discos • Los accesos a disco siempre son más 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 información esta almacenada en una o más superficies, cada una cuenta con una cabeza de lectura/entrada.

  11. Accesos a disco

  12. Cada superficie esta dividida en pistas concéntricas y cada pista esta dividida en sectores separados por espacios. Un sector es la unidad más pequeña que se puede localizar en un disco. • Además 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 operación recibe el nombre de búsqueda.

  13. Cada una de las superficies, pistas, sectores y cilindros tiene una cierta capacidad. • Así que en términos del número 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);

  14. Los sectores en una pista se pueden numerar consecutivamente, esto es, como están colocados físicamente, 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 físicos entre los sectores lógicos) para que no debamos esperar una vuelta completa para leer dos sectores consecutivos. Esto no sucede en discos modernos.

  15. En ocasiones, los sectores se organizan en grupos consecutivos llamados clusters consistentes en un número 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 búsqueda. Esta organización se suele utilizar en las tablas de asignación de archivos FAT Allocation Tables (FAT). • La FAT, contiene una lista de todos los clusters que constituyen un archivo ordenados de acuerdo al orden lógico de los sectores. Una colección de grupos adyacentes que se llama extento.

  16. Pérdida 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, deberían contener el mismo número de bytes (imagine guardar 300 bytes en un sector de 512), pero a veces eso no es posible y entonces se produce una fragmentación interna, y puede ocurrir a nivel de clusters (grupos). • Existe otro tipo de información que debe estar en un disco y no esta relacionada con los datos (información de formato).

  17. Tipos de espera al leer un disco • Tres tipos de espera que pueden ocurrir al leer un disco: • Tiempo de búsqueda (seek), es el requerido para mover el brazo al cilindro correcto. Lo que normalmente se puede conocer es el tiempo de búsqueda 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 revolución). • Tiempo de transferencia, que se puede calcular como (# bytes transferidos/# bytes en una pista) * tiempo de rotación.

  18. Existen muchas técnicas para tratar de minimizar los efectos de estas esperas: • cambiar el tamaño de los grupo, • usar múltiples discos, • paralelismo, • discos en memoria, caches, buffers, etc.

  19. Cintas Magnéticas Almacenamiento y Recuperación de Información

  20. No proporcionan ninguna facilidad para el acceso directo. • Contrariamente cuentan con un acceso secuencial muy rápido. • Las cintas son pequeñas y económicas Vs. los discos de la misma capacidad. • Debido a que son secuenciales no necesitan identificador de posición. • Además en una cinta la posición lógica coincide con la física.

  21. Anatomía de una cinta marco vacío 0 1 1 0 1 0 0 1 0 pista vacío Bloque de datos

  22. Marco: son los bits que constituyen una sucesión 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 están 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 tamaños, velocidades y perfiles.

  23. Las cintas se clasifican con base en tres parámetros: • Densidad: comúnmente 800, 1600 o 6250 bits por pulgada (bpi) por pista, recientemente hasta 30,000 bpi. • Velocidad: comúnmente 30 a 200 pulgadas por segundo (ips). • Tamaño de interblock vacío (gap) comúnmente 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.

  24. Fin