Docsity
Docsity

Prepara tus exámenes
Prepara tus exámenes

Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity


Consigue puntos base para descargar
Consigue puntos base para descargar

Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium


Orientación Universidad
Orientación Universidad

Sistema de Gestión de Archivos - Unidad 7 - Apuntes - Sistemas Operativos I, Apuntes de Sistemas Operativos

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

2012/2013

Subido el 03/05/2013

Alejandro_87
Alejandro_87 🇦🇷

4.4

(294)

697 documentos

1 / 5

Toggle sidebar

Esta página no es visible en la vista previa

¡No te pierdas las partes importantes!

bg1
Sistema de Gestión de Archivos (File System)
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.
Concepto de Sistema de Gestión de Archivos
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.
Objetivos de un Sistema de Gestión de Archivos
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.
Sistemas basados en Disco.
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.
Bloqueo en Discos:
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:
1) Alocado fijo (fixed blocking): Se usan registros de longitud fija. En cada bloque se
almacenan un número fijo de registros. Aquí hay fragmentación interna (a cada bloque).
Espacio sin usar al final de cada bloque.
2) Alocado de registros de longitud variable, registros expandidos (desmembrados:
spanned records): se empaquetan registros de longitud variable sin espacio inutilizable (libre).
De esta forma un registro se puede expandir en dos bloques fijos. La continuación se
indica apuntando al bloque siguiente.
3) Alocado de registros de longitud variable, registros no expandidos: se usan registros
de longitud variable pero no se usa expansión. Como un registro lógico no se puede expandir
sobre dos o mas bloques físicos, esto implica que hay espacio sin usar (libre) al final de cada
docsity.com
pf3
pf4
pf5

Vista previa parcial del texto

¡Descarga Sistema de Gestión de Archivos - Unidad 7 - Apuntes - Sistemas Operativos I y más Apuntes en PDF de Sistemas Operativos solo en Docsity!

Sistema de Gestión de Archivos (File System)

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.

Concepto de Sistema de Gestión de Archivos

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.

Objetivos de un Sistema de Gestión de Archivos

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.

Sistemas basados en Disco.

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.

Bloqueo en Discos :

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:

  1. Alocado fijo (fixed blocking): Se usan registros de longitud fija. En cada bloque se almacenan un número fijo de registros. Aquí hay fragmentación interna (a cada bloque). Espacio sin usar al final de cada bloque.
  2. Alocado de registros de longitud variable, registros expandidos (desmembrados: spanned records): se empaquetan registros de longitud variable sin espacio inutilizable (libre). De esta forma un registro se puede expandir en dos bloques fijos. La continuación se indica apuntando al bloque siguiente.
  3. Alocado de registros de longitud variable, registros no expandidos: se usan registros de longitud variable pero no se usa expansión. Como un registro lógico no se puede expandir sobre dos o mas bloques físicos, esto implica que hay espacio sin usar (libre) al final de cada

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

Objetivos y Funciones del Sistema de Gestión de Archivos.

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:

  • Permitir la creación, modificación y borrado de archivos sea por programas, usuarios o el propio S.O..
  • Permitir el acceso por los usuarios a los archivos, el uso compartido cuidadosamente controlado de los mismos y evitar el acceso no autorizado por parte de terceros. Estos controles involucran los accesos a lecturas (privacidad), a escritura y a ejecución, o combinaciones (de algunos o los tres).
  • Realizar en forma automática la gestión de la memoria secundaria.
  • Permitir hacer referencias a un archivo mediante un nombre simbólico.
  • Proteger a los archivos frente a fallas del sistema o contra accesos no autorizados o contra movimiento de los datos.
  • Mantener el almacenamiento en línea.
  • Suministrar los medios de organización y accesos a los datos en forma conveniente para los usuarios o las aplicaciones que lo requieran.
  • Mover los datos entre el archivo y Memoria Central en colaboración del administrador de Entrada / Salida.

7.2. ALMACENAMIENTO SECUNDARIO

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.

Administración del espacio de almacenamiento

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.

a) Bit Map o Bit Vector (Mapa De Bits)

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.

b) Lista Enlazada de Bloques Libres (Chained Free Portions):

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:

  1. Pilas (The pile)
  2. Archivos secuenciales (sequential file)
  3. Archivos Secuenciales indexados. (indexed sequential file)
  4. Archivos indexados.(indexed file)
  5. Archivos directos o de dispersión (director hashed, file).

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.