La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Sistemas Operativos I Sistema de Archivos.

Presentaciones similares


Presentación del tema: "Sistemas Operativos I Sistema de Archivos."— Transcripción de la presentación:

1 Sistemas Operativos I Sistema de Archivos

2 Sistemas de Archivo Todas las aplicaciones de computadoras necesitan almacenar y recuperar información. Mientras un proceso se ejecuta, necesita acceder a cierto tipo de información para poder realizar su tarea. La capacidad de almacenamiento esta limitada por el tamaño de la memoria virtual. El espacio para aplicaciones de cómo bases de datos es pequeño. Conservar la información es vital cuando el proceso acabe su tarea. Esta información debe perdurar en el tiempo.

3 Sistemas de Archivo Otro problema que debe resolverse es el acceso simultaneo a la información por parte de dos ó mas procesos. Esto se puede resolver haciendo la información independiente de los procesos. Resumiendo, debemos resolver 3 aspectos básicos: De ser posible, almacenar una cantidad muy grande de información. La información debe sobrevivir a la finalización de los procesos. Debe ser posible el acceso simultaneo a la información por parte de los procesos.

4 Sistemas de Archivos La Solución a estos problemas es el almacenamiento de la información en medios externos de almacenamiento masivo, como discos duros, cintas magnéticas, CD, etc., en unidades llamadas archivos. Los procesos pueden leer y escribir, incluso crear archivos nuevos, en caso de ser necesario. La información debe ser persistente, es decir no debe afectarse cuando un proceso se crea o termina, y debe desaparecer solo en forma explícita por parte del propietario.

5 Sistemas de Archivos El sistema operativo administra los archivos. La forma en que se estructuran, se nombran, se usan, se protegen, se acceden y se implementan los archivos, es una parte del S.O. que se llama SISTEMA de ARCHIVOS (FILE SYSTEM). Desde el punto de los usuarios es importante como se perciben los archivos, es decir como se constituye un archivo, como se nombran y como se protegen. Los pormenores de si se usan listas ligadas ó mapas de bits para llevar el control del almacenamiento libre, cuantos sectores hay en un bloque lógico, son temas que atañen a los diseñadores.

6 Sist. de Archivos: Nombres de archivo
Los archivos son un mecanismo de abstracción que permiten almacenar información en el HD para poder leerla después, esto se debe hacer de tal modo que el usuarios no tenga que enterarse de detalles de cómo y donde esta almacenada la información, ni de cómo funcionan los discos. El punto mas importante de un mecanismo de abstracción es la forma en que se da nombre a los objetos que lo conforman.

7 Sistemas de Archivos Cuando un proceso crea un archivo, le asigna un nombre, cunado el proceso termina el archivo sigue existiendo y otros programas pueden tener acceso a el, usando su nombre. Las reglas exactas para nombrar un archivo varían de un S.O. a otro, pero la mayoría de los S.O. aceptan como mínimo 8 caracteres para nombrarlos, así también muchos S.O. permiten hasta 255 caracteres en sus nombres, permitiendo caracteres especiales.

8 Sistemas de Archivos Muchos S.O. manejan nombres de archivos de dos partes: Nombre + Extensión La extensión da información al usuario de qué tipo de archivo se trata. (ej. DOS) En unix la extensión es solo informativa, y queda mas a criterio del usuario, y en general son solo convenciones. En contraste para Windows las extensiones si tienen significado, ya que se asocian a los programas que hacen uso de ellas.

9 Sistemas de Archivos: Estructura de archivos
Los archivos se pueden estructurar de tres formas: Serie de bytes no estructurada: El S.O. no sabe que contiene el archivo ni le interesa, solo ve bytes. Cualquier significado que tenga el archivo deberán imponérselo los programas en el nivel de usuario. Unix y Windows usan es enfoque. Esto ofrece el máximo de flexibilidad. Los programas de usuario pueden colocar lo que deseen y darles el nombre que les convenga. El S.O. no ayuda, pero tampoco estorba. Es importante para los usuarios que hacen cosas fuera de lo común.

10 Sistemas de Archivos: Tipos de Archivos
1 Byte 1 REGISTRO C Mono C Pato C Foca C Loro C Gato C Oca C Oso C Ratón C Topo

11 Sistemas de Archivos: Estructura de archivos
Sucesión de Registros de Longitud fija: Donde cada uno de los registros tiene cierta estructura interna particular. En este caso la operación de lectura del archivo devuelve un registro, y la operación de escritura, reescribe un registro ó agrega un registro. Un ejemplo de esto son los antiguos Mainframes, que leían tarjetas perforadas de 80 columna, es decir que el registro tenía un tamaño de 80 caracteres uno x cada columna, y archivos de 132 caracteres para las impresoras. Actualmente ya no se usa esta estructura.

12 Sistemas de Archivos: Estructura de archivos
Árbol de registros, no necesariamente todos de la misma longitud, cada uno de los cuales contiene un campo clave en una posición fija del registro, el árbol se orienta según este campo clave, con el objeto de hallar una clave con rapidez. La operación no es obtener el “siguiente” registro, sino aquel que tiene una clave determinada, sin preocuparse por la posición del registro en el archivo. Se pueden añadir registros al archivo y el S.O. decide donde colocarlos. Esta técnica es una evolución de la anterior, se usa en mainframes.

13 Sistemas de Archivos Archivos Normales Directorios
Pseudo Archivos (Tuberías) Especiales de Carácter Especiales de Bloque

14 Sistema de Archivos Desde un punto de vista técnico no es mas que una colección de bytes, el S.O. solo puede ejecutar un archivo si este tiene el formato correcto. El Número Mágico identifica al archivo como ejecutable, para evitar la ejecución accidental de un archivo que no tenga este formato, luego vienen los tamaños de los diversos componentes del archivo. Número Mágico Tamaño de texto Tamaño de Datos Tamaño de Datos Tamaño de BSS Encabezado Tamaño de T.S. Punto de Ingreso Indicadores TEXTO DATOS Bits de Reubicación Tabla de Símbolos Estructura de un Archivo Ejecutable Binario de UNIX

15 SISTEMA DE ARCHIVOS: Acceso a los archivos
Acceso Secuencial: Se lee el archivo (secuencia de registros ó de bytes) en orden, comenzando por el principio, no se permiten saltos ó lectura en otro orden. Típico uso en cintas magnéticas, ya que pueden “rebobinarse”.

16 SISTEMA DE ARCHIVOS: Acceso a los archivos
Acceso Aleatorio de archivos: Esta técnica se implementó con la aparición de los H.D., los archivos cuyos bytes ó registros puedan leerse en cualquier orden se denominan de acceso aleatorio. Son indispensables en aplicaciones como BD. Dos métodos para iniciar la lectura: READ SEEK

17 Sistema de Archivos Nombres de ruta: Cuando un sistema de archivos se organiza como árbol de directorios,se necesita de un mecanismo para especificar los nombres de los archivos. Por lo general existen dos métodos: cada archivo recibe un nombre de ruta absoluta que consiste en el camino que debe seguirse desde la raíz hasta el archivo. Ej: Windows: \usr\ast\correo\carta.txt; en UNIX: /usr/ast/correo/carta.juan.txt; en MULTICS: >usr>ast>correo>carta.txt.pedro. Si el primer carácter del nombre de la ruta es el separador, la ruta será absoluta.

18 Sistemas de Archivos La otra opción es la de la ruta relativa. Este se usa junto con el concepto de directorio de trabajo (también llamado directorio actual); un usuario puede designar un directorio como su directorio de trabajo actual, en ese caso todos los nombres de ruta que no comiencen en el directorio raíz se considerarán relativos al directorio de trabajo actual. Por ej. Si el directorio actual es /usr/ast/correo, podrá hacerse referencia al archivo cuya ruta absoluta es (ver anterior)

19 Sistemas de Archivos /usr/ast/correo/carta.juan.txt como carta.juan.txt, por lo tanto el comando: cp /usr/ast/correo/carta.juan.txt /usr/ast/correo/carta.juan.txt.bak es igual a: cp carta.juan.txt carta.juan.txt.bak EN la mayoría de los S.O. que manejan un sistema de archivos jerárquico con directorios,existen dos entradas especiales en cada directorio “.” y “. .”

20 Sistemas de Archivos El punto ( “.” ) se refiere al directorio actual, y el punto punto ( “ . . “ ) se refiere al directorio padre. Ej cp ../lib/diccionario.txt . (ver libro pag.397)

21 Sistemas de Archivos Los sistemas de archivos se almacenan en discos, los discos pueden dividirse en particiones, cada una con sistemas de archivos diferentes e independientes y con S.O. Diferentes en cada partición. El sector “0” del disco se llama “Sector Maestro de Arranque” (MBR – MAster Boot Record), el final del MBR contiene la tabla de particiones del HD. Esta tabla contiene las direcciones de inicio y fin de cada partición. Una de las particiones de la tabla se marca como ACTIVA.

22 Sistemas de Archivos: Organización
El BIOS lee el MBR del disco y lo ejecuta, lo primero que hace el MBR es localizar la partición activa y lee el primer bloque (el BOLQUE DE ARRANQUE-Start Block) y ejecutarlo. El programa del bloque de arranque carga el S.O. contenido en esa partición. Todas las particiones tienen un bloque de arranque, aunque no contengan un S.O. Arrancable, esto es porque en el futuro esa partición podría tener un S.O. booteable. Mas allá del bloque de arranque la organización de una partición varía considerablemente de un sistema de archivos a otro.

23 Sistemas de Archivos: Organización
Tabla de Particiones Particiones MBR (2) Disco Entero Administración del Espacio Libre Superbloque NODOS-I Dir. RAIZ Archivos y Directorios Detalle de una Partición (2) Bloque de Arranque

24 Sistemas de Archivos: Organización
Es común que el File System contenga los elementos de la figura anterior, el primer elemento es el superbloque, que contiene todos los parámetros clave del sistema de archivos, y se transfiere del disco a la memoria cuando se arranca la computadora ó cuando se toca por primera vez el F.S. La información del superbloque contiene un número que identifica el tipo de F.S., el número de bloques que hay en el F.S., e información administrativa del disco.

25 Sistemas de Archivos: Organización
A continuación del superbloque puede haber información sobre los bloques libres en el F.S., en forma de mapa de bits o de lista con punteros. Luego siguen los NODOS-I, un arreglo de estructuras de datos, una por archivo, que proporciona todas las características del archivo, después sigue el directorio raíz, que contiene la parte más alta del árbol del F.S., y por último el resto del disco, que contiene los directorios, subdirectorios y archivos.

26 Sistemas de Archivos: Implementación
El aspecto más importante en la implementación del F.S. es llevar el control de cuales bloques de disco están ocupados y cuales están libres y que bloque corresponde a cual archivo. Se emplean distintos métodos, vamos a analizar los siguientes: Asignación Contigua Asignación por lista enlazada Asignación por lista enlazada mediante una tabla en memoria (FAT)

27 Sistemas de Archivos: Implementación
Asignación Contigua: Es el método más simple, se usó el los primeros S.O., en los S.O. por lotes, consiste en asignar bloques contiguos a los archivos según su tamaño, si el bloque es de 1KB, y el archivo es de 50KB, se ocupan 50 bloques si el bloque es 4KB, se ocupan 13 bloques (13x4=52KB) y se pierden 2KB del último bloque. Cada archivo se inicia al principio de un bloque nuevo. Ventajas: Muy simple y fácil de implementar, muy buen desempeño en la lectura del archivo.

28 Sistemas de Archivos: Implementación
Asignación Contigua : Presenta el problema de la fragmentación del disco. Cuando se borra un archivo, este deja un hueco en el disco, y debe compactarse el disco, este trabajo es lento y para ser eficiente se debe llevar una lista de huecos. Además el otro problema importante es que cuando se va a crear un archivo es necesario conocer su tamaño. En la actualidad, Dónde se usa este esquema? 5 Bloques 8 Bloques 3 Bloques 12 Bloques 15 Bloques Archivo A Archivo B Archivo C Archivo D Archivo E LIBRE Archivo D 5 Bloques 8 Bloques 12 Bloques 15 Bloques Archivo A Archivo B

29 Sistemas de Archivos: Implementación
Asignación por lista ligada: Este método consiste en enlazar los bloques de un archivo a partir de un campo clave, ya no es necesario que los bloques sean contiguos, la primera parte del bloque se ocupa con la clave y el resto con datos. La fragmentación es menor, y solo basta guardar en la entrada del directorio la dirección en disco del primer bloque del archivo, el resto se localiza a partir de este bloque. Es lento, y los bloques ya no son potencias de 2.

30 Sistemas de Archivos: Implementación
Lista enlazada: El último bloque se marca con un número ó carácter que indica el final de archivo. 5; EOF Archivo “A” Bloque físico 7; EOF Archivo “B” Bloque físico

31 Sistemas de Archivos: Implementación
Asignación por lista enlazada mediante tabla en memoria (FAT): Es una mejora del anterior. Los apuntadores ó claves que antes estaban en los bloques, ahora se colocan en una tabla que se carga en memoria RAM. Se coloca en la tabla un campo clave para indicar final de archivo (EOF= -1) que no es un número de bloque válido. Esta tabla se denomina Tabla de Asignación de Archivos (FAT= File Allocation Table). El acesso aleatorio es mas rápido y todo el bloque se usa para datos.

32 Sistemas de Archivos: Implementación
FAT: La desventaja principal es que siempre se debe tener la tabla en memoria. Con un disco de 20GB y un tamaño de bloque de 1kB, tenemos 20 millones de entradas, cada entrada es de 4 bytes, por lo tanto nuestra tabla ocupará 80MB de RAM todo el tiempo. Esto se podría resolver paginando la tabla, pero esta solución trae aparejado el problema del tránsito de swap a memoria RAM y viceversa.

33 Sistemas de Archivos: Implementación
Bloque físico FAT: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 Bloque de inicio del archivo “A” 5 9 Archivo “A”: 1,5,8,12 Bloque de inicio del archivo “B” 8 -1 Archivo “B”: 2,9,13,7 12 13 -1 7

34 FIN DE LA UNIDAD


Descargar ppt "Sistemas Operativos I Sistema de Archivos."

Presentaciones similares


Anuncios Google