



Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity
Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium
Prepara tus exámenes
Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity
Prepara tus exámenes con los documentos que comparten otros estudiantes como tú en Docsity
Los mejores documentos en venta realizados por estudiantes que han terminado sus estudios
Estudia con lecciones y exámenes resueltos basados en los programas académicos de las mejores universidades
Responde a preguntas de exámenes reales y pon a prueba tu preparación
Consigue puntos base para descargar
Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium
Comunidad
Pide ayuda a la comunidad y resuelve tus dudas de estudio
Descubre las mejores universidades de tu país según los usuarios de Docsity
Ebooks gratuitos
Descarga nuestras guías gratuitas sobre técnicas de estudio, métodos para controlar la ansiedad y consejos para la tesis preparadas por los tutores de Docsity
Apuntes del curso universitario de Informatica sobre el sistema de gestión de archivos - File System - El módulo de E/S contiene "inteligencia" provista por un procesador que emplea una lógica para ejecutar un función comunicacional entre el dispositivo periférico y el bus del sistema.
Tipo: Apuntes
1 / 5
Esta página no es visible en la vista previa
¡No te pierdas las partes importantes!
Para hacer un uso conveniente del espacio de almacenamiento, el sistema operativo hace una abstracción de las características físicas de los dispositivos de almacenamiento para definir una unidad lógica de almacenamiento llamada archivo (file). El módulo del sistema operativo encargado de la tarea de administrar el espacio de almacenamiento en un dispositivo y las estructuras abstractas de datos , lo denominamos Sistema de Gestión de Archivos o File System (FS) o simplemente sistema de archivo.
Es el conjunto del software del sistema que provee tanto a usuarios como a aplicaciones servicios en el uso de archivos. Abstrae a los usuarios la complejidad de la manipulación de la estructura abstracta de datos, y su almacenamiento, y proporcionarle una visión simplificada y uniforme de un nombre desde el punto de vista lógico.
1 Satisfacer los requerimientos y las necesidades del usuario de administración de datos. 2 Garantizar (en la medida de lo posible) la validez de los datos almacenados en cada archivo. 3 Optimizar el desempeño. 4 Proveer soporte de E/S para una amplia variedad de dispositivos de almacenamiento. 5 Minimizar (o eliminar) la posibilidad de perdidas o destrucción de datos. 6 Proveer un conjunto estandar de rutinas de interfases de E/S. 7 Proveer soporte de E/S para usuarios múltiples, en el caso de sistemas multiusuarios.
Un disco se divide en pistas, cuyo número varía de dispositivo a dispositivo. Cada pista se divide en sectores. El sector es la más pequeña unidad de información que puede ser leída o escrita en un disco. Las cabezas se mueven a un lugar determinado (tiempo de búsqueda o seek time) y a la superficie correcta; luego debe esperar para que el sector pedido llegue a pasar debajo de la cabeza (latencia rotacional). Un cilindro es un conjunto de pistas que están en la misma posición en el disco, pero en diferentes platos. No se necesita ninguna búsqueda "seek" para acceder a pistas del mismo cilindro. La diferencia fundamental con cinta, es el acceso directo a los bloques. También los discos requieren de un directorio de dispositivo indicando que archivos residen en el mismo. Se puede reescribir un bloque, modificarlo, leerlo y re-escribir el directorio sin necesidad de tener que copiar el resto del disco.
Los discos tienen un tamaño en bloques perfectamente definido por el tamaño de los sectores. Todas las operaciones de Entrada/Salida manipulan datos contenidos en bloques (registros físicos) y todos los bloques son de igual tamaño.
Registros (Records): son la unidad lógica de acceso a un archivo. Bloques (Blocks): son la unidad de E/S (de almacenamiento).
Dada una longitud de bloques igualdad hay 3 métodos de ablocamiento posibles:
bloque. Los registros de longitud variable sobre registros no expandidos generan un malgasto de espacio (espacio sin usar “al fondo” de cada bloque que se conoce como Fragmentación interna) y limita la longitud máxima de un registro, a la longitud de un bloque. La técnica de ablocar de registros puede interactuar con el hardware de memoria virtual
El principal objetivo de un Sistema de archivos es permitir las operaciones y accesos en forma segura sobre los soportes para almacenar, modificar, eliminar o recuperar la información generada por los programas o aplicaciones y administrar el espacio de almacenamiento secundario. Podemos definir las siguientes funciones de un Sistema de Gestión de Archivos:
El S.O. es el encargado de asignarle bloques a los archivos, y es aquí donde surgen 2 cuestiones administrativas: 1- Se debe asignar espacio de almacenamiento a los archivos 2- Se debe tener bajo control el espacio disponible para efectuar las asignaciones. Estas 2 tareas están íntimamente ligadas: el esquema utilizado para asignar espacio a los archivos va a influir en el esquema utilizado para controlar el espacio libre.
Depende fundamentalmente del tipo de soporte (Disco, Cinta, etc.) y es controlado y actualizado, por el Sistema de Gestión de Archivo cada vez que se Borra, se Crea o se graba un archivo en un dispositivo. El espacio de almacenamiento se relaciona entre lo que no está asignado (libre) y el que está ocupado por los archivos (asignado) y generalmente se utiliza una tabla para administrar ese espacio llamada FAT (File Allocation Table ).
Normalmente el S.O. tiene una lista de espacios libres ya sea en la FAT o en algún otro lugar del soporte llamado Disk Allocation Table, en la que se guardan todos los bloques libres. Al crear y al grabar un archivo, se realiza una búsqueda en ésta tabla y se asignan bloques, los que son removidos de la lista de libres. Al borrarse un archivo los bloques se agregan a la lista. Puede ser, que la lista de espacios no se implemente como una lista sino por algún otro método como veremos a continuación, pero genéricamente la llamaremos lista.
Frecuentemente se implementa como un vector o mapa de bits en la FAT. Cada bloque del disco se representa con un bit. Si el bloque está libre se le asigna al bit un “0”, caso contrario el bit vale un “1” que indica que está ocupado.
Otra solución es vincular (-link-) todos los bloques libres, guardando un puntero al primer
Organización lógica Consideramos él término organización lógica de archivos para referirnos a la estructura lógica de los registros determinada por la manera en que se accede a ellos. La organización física del archivo en el almacenamiento secundario depende de la estrategia de agrupación (ablocamiento) y de la estrategia de asignación del espacio físico para el archivo. Para seleccionar una organización lógica de archivos hay diversos criterios que son importantes: 1 Acceso rápido a los registros para recuperar o guardar la información 2 Facilidad de actualización. 3 Economía de almacenamiento. 4 Mantenimiento sencillo y simple 5 Confiabilidad para asegurar la confianza de los datos La prioridad relativa de estos criterios dependerá de LAS APLICACIONES que usarán el archivo. Ej: si a un archivo siempre lo voy a acceder en forma batch y en su totalidad, entonces el poseer un acceso rápido para recuperar un registro va a ser de mínima importancia. Un archivo almacenado en un cd-rom jamás será actualizado. El punto 2 no interesa para nada. A veces los criterios 1 y 3 son contrapuestos, ej: para 3 hay que reducir la redundancia de datos a cero, por otro lado la redundancia es el único medio para incrementar la velocidad de acceso a los datos (creando índices). Hay libros enteros dedicados a organización de archivos y métodos de acceso asociados. La cantidad de alternativas de organizaciones lógicas de archivos que se han implementado o propuesto en distintos S.O. es variado. Cada uno propone ventajas y desventajas en sus implementaciones. La mayor parte de las estructuras empleadas en los sistemas reales se encuadran en una de estas categorías o puede implementarse como una combinación de estas. Por sencillez veremos brevemente 5 organizaciones fundamentales:
Pilas La forma menos complicada de organización de archivos puede denominarse la pila. Los datos se recolectan en el orden en que llegan. Los registros pueden tener distintos campos o campos similares en distinto orden. Como no hay una estructura para el archivo de la pila, el acceso a registros se hace por medio de búsqueda exhaustiva (en todo el archivo). Al ser una organización adecuada para búsquedas exhaustivas, es fácil de actualizar (se graba encima).
Archivos Secuenciales Es la organización de archivos más común. Se emplea un formato fijo para los registros. Todos los registros consisten del mismo número de campos de longitud fija, colocados en el mismo orden dentro del registro. La organización física el archivo refleja la organización lógica del archivo.
Archivos Secuenciales indexados Un método popular para superar las desventajas de los archivos secuenciales (sobremanera para acceder a un solo registro o unos pocos a la vez) es el del archivo secuencias indexado. Mantienen las características básicas de los archivos secuenciales. Los registros se organizan en una secuencia basada en un campo clave , pero se añaden dos características nuevas: un archivo de índices para soportar los accesos aleatorios y un archivo de desbordamiento (overflow). El índice proporciona una capacidad de búsqueda (lookup) para llegar rápidamente a la vecindad del registro deseado.
Archivos Indexados El index secuencial es una leve mejora del secuencial. Sólo mejora el rendimiento cuando se accede un registro al azar por la clave principal, un solo campo del archivo. Cuando es necesario buscar un registro basándose en algún otro atributo distinto del campo clave principal, ambas formas de archivo secuencial no son adecuadas. En algunas aplicaciones se hace necesaria esta posibilidad (acceder un registro al azar a través no de un único campo sino de varios posibles). Para implementar esta flexibilidad se necesita de una estructura que emplee múltiples índices, un archivo índice por cada tipo de campo que permita efectuar una búsqueda. En esta organización se abandonan los conceptos de secuencialidad y de claves únicas. Los registros sólo se acceden a través de sus índices. Como consecuencia ya no hay restricciones en cuanto a la colocación de los registros mientras exista al menos un puntero (en al menos uno de los índices) que referencie a cada registro. Pueden emplearse registros de longitud variable. Existen dos tipos de índices: un índice exhaustivo que contiene una entrada para cada registro del archivo principal y se organiza en sí mismo como un archivo secuencial y un índice parcial que contendrá entradas a los registros donde esté el campo de interés (pues en registros de longitud variable el campo puede a veces no existir en algunos registros). Cuando se añade un registro al archivo principal, físicamente se coloca al final del mismo, y luego se actualizan todos los índices. Los archivos indexados tienen un rendimiento bajo cuando se los accede exhaustivamente. Se los usa principalmente cuando las aplicaciones tienen tiempos críticos de respuesta, por ej: sistema de reserva de pasajes, de control de inventarios, etc.
Archivos directos (o Hashed: reformulado): explotan la capacidad de los discos para acceder directamente a cualquier bloque de dirección conocida. Al igual que las organizaciones secuencial y secuencial indexada, se requiere que cada registro posea un campo clave (key field). Aquí no hay concepto de ordenación secuencial. El archivo directo emplea una reformulación del valor de la clave. En una organización directa se emplea un archivo de desbordamiento para colocar los "sinónimos" en forma encadenada. Los archivos directos son usados a menudo donde se necesita un acceso muy rápido, donde se usan registros de longitud fija y donde siempre se accede a los registro s de una vez. Ejemplo: directorios, tablas de precios, planificadores y listas de nombres.