objetivos para un sistema de gestión de archivos de ficheros.pdfcreación y eliminación de...

22
Introducción Antes de comenzar a hablar de lo que es un Sistema de gestión de archivos sería conveniente aclarar que es un archivo y cuáles son sus utilidades: Cuando hablamos de archivos, habitualmente se utilizan cuatro términos: Campo, Registro, Archivo y Base de datos. Se puede decir que estos términos forman una estructura de datos agrupados y relacionados de alguna manera en particular donde uno contiene al otro y que nos facilitan la manera de almacenarlos y recuperarlos. Un Campo es el elemento de datos básico, como ejemplo: un campo individual contiene un valor único, como el apellido de un empleado, una fecha o un valor leído por un sensor. Lo más importante de un campo es su longitud (que puede ser fija o variable) y el tipo de datos que contenga(ya sea una cadena ASCII o un dígito decimal). Un Registro es un conjunto de campos relacionados que pueden tratarse como una unidad por algunos programas de aplicación. Por ejemplo: un registro de nombre “empleado” contendría campos tales como nombre, DNI, fecha de contratación, etc. Un registro puede ser de longitud variable en el caso de que el número de campos pueda variar, esto dependerá de su diseño. Un Archivo es un conjunto de registros similares. Los usuarios y las aplicaciones se refieren a él por un nombre que es único y que puede crearse y borrarse. Las restricciones al control de acceso suelen aplicarse a los archivos. Es decir en un sistema compartido, el acceso de los usuarios y los programas se garantiza o deniega a archivos completos, en otros casos se aplica a los registros e incluso a los campos. Una Base de datos es un conjunto de datos relacionados. El aspecto fundamental es que está diseñada para ser usada por varias aplicaciones diferentes. Puede contener toda la información relativa a una organización o proyecto. Un Sistema de gestión de archivos es el software del sistema que proporciona servicios a usuarios y aplicaciones para el uso de archivos. Normalmente la única forma en que un usuario o aplicación puede acceder a los archivos es mediante el sistema de gestión de archivos. Objetivos para un sistema de gestión de archivos . Cumplir con las necesidades de gestión de datos y con los requerimientos del usuario. Garantizar que los datos de los archivos sean válidos. Optimizar el rendimiento en términos de productividad y tiempo de respuesta. Ofrecer soporte de E/S para los distintos dispositivos de almacenamiento. Minimizar o eliminar la posibilidad de pérdida o destrucción de datos. Con respecto al primer punto. Para un sistema interactivo, de propósito general, deben cumplirse los siguientes requisitos mínimos: 1. Cada usuario debe ser capaz de crear, borrar, y cambiar los archivos. 2. Cada usuario puede tener acceso controlado a los archivos de otros usuarios. 3. Cada usuario puede controlar qué tipos de acceso estarán permitidos a sus archivos.

Upload: others

Post on 03-Apr-2020

5 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Objetivos para un sistema de gestión de archivos de Ficheros.pdfcreación y eliminación de archivos y realizando operaciones sobre los archivos. Antes de realizar cualquier operación,

Introducción

Antes de comenzar a hablar de lo que es un Sistema de gestión de archivos sería conveniente aclarar que es un archivo y cuáles son sus utilidades:

Cuando hablamos de archivos, habitualmente se utilizan cuatro términos: Campo, Registro, Archivo y Base de datos. Se puede decir que estos términos forman una estructura de datos agrupados y relacionados de alguna manera en particular donde uno contiene al otro y que nos facilitan la manera de almacenarlos y recuperarlos.

Un Campo es el elemento de datos básico, como ejemplo: un campo individual contiene un valor único, como el apellido de un empleado, una fecha o un valor leído por un sensor. Lo más importante de un campo es su longitud (que puede ser fija o variable) y el tipo de datos que contenga(ya sea una cadena ASCII o un dígito decimal).

Un Registro es un conjunto de campos relacionados que pueden tratarse como una unidad por algunos programas de aplicación. Por ejemplo: un registro de nombre “empleado” contendría campos tales como nombre, DNI, fecha de contratación, etc. Un registro puede ser de longitud variable en el caso de que el número de campos pueda variar, esto dependerá de su diseño.

Un Archivo es un conjunto de registros similares. Los usuarios y las aplicaciones se refieren a él por un nombre que es único y que puede crearse y borrarse. Las restricciones al control de acceso suelen aplicarse a los archivos. Es decir en un sistema compartido, el acceso de los usuarios y los programas se garantiza o deniega a archivos completos, en otros casos se aplica a los registros e incluso a los campos.

Una Base de datos es un conjunto de datos relacionados. El aspecto fundamental es que está diseñada para ser usada por varias aplicaciones diferentes. Puede contener toda la información relativa a una organización o proyecto.

Un Sistema de gestión de archivos es el software del sistema que proporciona servicios a usuarios y aplicaciones para el uso de archivos. Normalmente la única forma en que un usuario o aplicación puede acceder a los archivos es mediante el sistema de gestión de archivos.

Objetivos para un sistema de gestión de archivos .

Cumplir con las necesidades de gestión de datos y con los requerimientos del usuario.

Garantizar que los datos de los archivos sean válidos.

Optimizar el rendimiento en términos de productividad y tiempo de respuesta.

Ofrecer soporte de E/S para los distintos dispositivos de almacenamiento.

Minimizar o eliminar la posibilidad de pérdida o destrucción de datos.

Con respecto al primer punto. Para un sistema interactivo, de propósito general, deben cumplirse los siguientes requisitos mínimos:

1. Cada usuario debe ser capaz de crear, borrar, y cambiar los archivos.

2. Cada usuario puede tener acceso controlado a los archivos de otros usuarios.

3. Cada usuario puede controlar qué tipos de acceso estarán permitidos a sus archivos.

Page 2: Objetivos para un sistema de gestión de archivos de Ficheros.pdfcreación y eliminación de archivos y realizando operaciones sobre los archivos. Antes de realizar cualquier operación,

4. Cada usuario debe poder reestructurar sus archivos de manera adecuada al problema.

5. Cada usuario debe ser capaz de mover datos entre los archivos.

6. Cada usuario debe ser capaz de guardar una copia de reserva y recuperar sus archivos en el caso de que hayan sufrido algún daño.

7. Cada usuario debe ser capaz de acceder a sus archivos mediante un nombre simbólico.

Estos objetivos y requerimientos deben tenerse en cuenta en todo nuestro estudio de los sistemas de gestión de archivos.

Arquitectura de los sistemas de archivos

Una manera de hacerse una idea del alcance de la gestión de archivos es observar una representación de una organización típica del software.

En el nivel más bajo se encuentran los gestores de dispositivos que se comunican directamente con los dispositivos periféricos o sus controladores o canales. En operaciones con archivos, los dispositivos típicos controlados son discos y unidades de cinta. Los gestores de dispositivos son considerados generalmente como parte del sistema operativo.

El siguiente nivel es conocido con el nombre de sistema de archivos básico o nivel de E/S física, este sistema se encarga de ubicar los bloques de datos en el dispositivo de almacenamiento secundario y además del almacenamiento intermedio de los mismos en la memoria principal. El sistema de archivos básico se considera a menudo parte del sistema operativo.

El supervisor básico de E/S es el responsable de la iniciación y terminación de toda la E/S de archivos. En este nivel se mantienen unas estructuras de control que se encargan de la E/S con los dispositivos, la planificación y el estado de los archivos. El supervisor básico de E/S es parte del sistema operativo.

La E/S lógica es la parte del sistema de archivos que permite a usuarios y aplicaciones acceder a los registros. Así, mientras el sistema de archivos básico trabaja con bloques de datos, el módulo de E/S lógica lo hace con registros.

Finalmente, el nivel del sistema de archivo más cercano al usuario es, generalmente, el método de acceso. Los diferentes métodos de acceso reflejan las distintas estructuras de archivos y las formas diferentes de acceder y procesar los datos.

Funciones de la gestión de archivos

Los usuarios y programas de aplicación interactúan con el sistema de archivos por medio de órdenes de creación y eliminación de archivos y realizando operaciones sobre los archivos. Antes de realizar cualquier operación, el sistema de archivos debe identificar y ubicar el archivo en cuestión. Esto requiere el uso de algún tipo de directorio que describa la ubicación de todos los archivos y sus atributos. Además, la mayoría de los sistemas compartidos aplican algún control de acceso a los usuarios. Las operaciones básicas que un usuario o aplicación puede realizar sobre un archivo tienen lugar en los registros. El usuario o la aplicación contempla al archivo como una estructura que organiza registros, como una estructura secuencial.

Page 3: Objetivos para un sistema de gestión de archivos de Ficheros.pdfcreación y eliminación de archivos y realizando operaciones sobre los archivos. Antes de realizar cualquier operación,

Mientras que los usuarios y aplicaciones se ocupan de los registros, la E/S se lleva a cavo por bloques. De esta forma, los registros de un archivo deben traducirse a bloques para la salida, y los bloques traducirse a registros después de la entrada. Debe gestionarse el almacenamiento secundario. Esto implica la asignación de archivos a los bloques disponibles del almacenamiento secundario y la gestión del espacio libre, de manera que se conozca qué bloques están disponibles para la creación de archivos nuevos y el crecimiento de los archivos existentes.

Organización y acceso a archivos

La organización de archivos es la estructuración lógica de los registros determinada por su forma de acceso.

La organización física de un archivo en el almacenamiento secundario depende de la estrategia de agrupación y de la estrategia de asignación de archivos.

Para elegir una organización de archivos se deben tener en cuenta ciertos criterios:

Si un archivo va a procesar solamente por lotes, accediendo cada vez a todos los registros, entonces el acceso rápido para la recuperación de un único registro es una preocupación mínima. Un archivo almacenado en CD-ROM nunca será actualizado, por lo que la facilidad de actualización no se considera. Para la economía de almacenamiento, debería existir una mínima redundancia de los datos, ésta redundancia es el medio fundamental para incrementar la velocidad de acceso a los datos.

La mayor parte de las estructuras de organizaciones alternativas de archivos se encuentran dentro de estas cinco categorías:

Pilas

Es la forma más fácil de organizar un archivo. Los datos se recogen en el orden en que llegan.

Su objetivo es simplemente acumular una masa de datos y guardarla.

Los registros pueden tener campos diferentes o similares en un orden distinto. Cada campo debe ser autodescriptivo, incluyendo tanto un campo de nombre como el valor. La longitud de cada campo debe indicarse implícitamente con delimitadores, explícitamente incluidos como un subcampo más.

El acceso a los registros se hace por búsquedas exhaustiva y son fáciles de actualizar. Si se quiere encontrar un registro que contiene un campo particular y un valor determinado, es necesario examinar cada registro de la pila hasta encontrar el registro deseado. Si se quieren encontrar todos los registros que contienen un campo particular o que tienen un valor determinado para ese campo, debe buscarse el archivo entero.

Se aplica cuando los datos se recogen o almacenan antes de procesarlos o cuando no son fáciles de organizar. Esta clase de archivo aprovecha bien el espacio cuando los datos almacenados varían en tamaño y estructura. Fuera de estos usos limitados, este tipo de archivos no se adapta a la mayoría de las aplicaciones.

Page 4: Objetivos para un sistema de gestión de archivos de Ficheros.pdfcreación y eliminación de archivos y realizando operaciones sobre los archivos. Antes de realizar cualquier operación,

Archivos secuenciales

Es la forma más común de estructura de archivos.

Se emplea un formato fijo para los registros, son de la misma longitud y constan del mismo número de campos de tamaño fijo con un orden determinado.

Se necesita almacenar los valores de cada campo; el nombre del campo y la longitud de cada uno son atributos de la estructura del archivo. Cada registro tiene un campo clave que lo identifica (generalmente es el primero de cada registro). Los registros se almacenan en secuencia por la clave.

Se utilizan normalmente en aplicaciones de procesos por lotes, ya que es la única organización de archivos que se puede guardar tanto en cintas como en discos.

Para las aplicaciones interactivas que incluyen peticiones o actualizaciones de registros individuales, los archivos secuenciales no son óptimos. El acceso requiere una búsqueda secuencial de correspondencias con la clave. Si el archivo entero o gran parte de él pueden traerse a la memoria principal de una sola vez, se podrán aplicar técnicas de búsquedas más eficientes. Al acceder un registro de un archivo secuencial grande, se produce un procesamiento extra y un retardo considerable.

La organización física del archivo en una cinta o disco se corresponde exactamente con la organización lógica del archivo, por lo tanto el procedimiento habitual es ubicar los nuevos registros en un archivo de pila separado, es llamado archivo de registro o archivo de transacciones.

Una alternativa es organizar físicamente el archivo secuencial como una lista enlazada, en cada bloque físico se almacena uno o más registros y cada bloque del disco contiene un puntero al bloque siguiente. La inserción de un nuevo registro implica la manipulación de puntero, pero no requiere que el nuevo registro ocupe una posición particular del bloque físico.

Archivos secuenciales indexados:

Los registros se organizan en una secuencia basada en un campo clave presentando dos características, un índice del archivo para soportar los accesos aleatorios y un archivo de desbordamiento. El índice proporciona una capacidad de búsqueda para llagar rápidamente al registro deseado y el archivo de desbordamiento es similar al archivo de registros usado en un archivo secuencial, pero está integrado de forma que los archivos de desbordamiento se ubiquen siguiendo un puntero desde su registro predecesor.

La estructura más simple tiene como índice un archivo secuencial simple, cada registro del archivo índice tiene dos campos, un campo clave igual al del archivo principal y un puntero al archivo principal. Para encontrar un campo especifico se busca en el índice hasta encontrar el valor mayor de la clave que es iguale o precede al valor deseado de la clave, la búsqueda continua en el archivo principal a partir de la posición que indique el puntero.

Cada registro del archivo principal tiene un campo adicional que es un puntero al archivo de desbordamiento. Cuando se inserta un nuevo registro al archivo, también se añade al archivo de desbordamiento. El registro del archivo principal que precede inmediatamente al nuevo registro según la secuencia lógica se actualiza con un puntero del registro nuevo en el archivo de desbordamiento, si el registro inmediatamente anterior está también en el archivo de desbordamiento se actualizará el puntero en el registro.

Para procesar secuencialmente un archivo completo los registros del archivo principal se procesarán en secuencia hasta encontrar un puntero al archivo de desbordamiento, el acceso continua en el archivo de desbordamiento hasta que encuentra un puntero nulo, entonces renueva el acceso

Page 5: Objetivos para un sistema de gestión de archivos de Ficheros.pdfcreación y eliminación de archivos y realizando operaciones sobre los archivos. Antes de realizar cualquier operación,

donde se abandonó en el archivo principal.

Archivos indexados:

A los registros se accede solo a través de sus índices. No hay resticción en la ubicación de los registros, al menos un índice contiene un puntero a cada registro y pueden emplearse registros de longitud variable.

Se suelen utilizar dos tipos de índices, uno exhaustivo que contiene una entrada para cada registro del archivo principal y se organiza como un archivo secuencial para facilitar la búsqueda, el otro índice es parcial que contiene entrada a los registros donde esté el campo de interés.

Con registro de longitud variable, algunos registros no contendrán todos los campos y cuando se añade un registro al archivo principal, todos los archivos de índices deben actualizarse.

Archivos directos o de dispersión:

Explotan la capacidad de los discos para acceder directamente a cualquier bloque de dirección conocida.

Se requiere un campo clave en cada registro.

Los archivos directos son muy usados donde se necesita un acceso muy rápido, donde se usan registros de longitud fija y donde siempre se accede a los registros de una vez.

Organizaciones comunes de archivo

Archivo de pila: Registro de longitud variable. Conjunto variable de campos. Orden cronológico

Archivo secuencial: Registro de longitud fija. Conjunto fijo de campos en orden constante. Orden secuencial por el campo clave.

Page 6: Objetivos para un sistema de gestión de archivos de Ficheros.pdfcreación y eliminación de archivos y realizando operaciones sobre los archivos. Antes de realizar cualquier operación,

Archivo secuencial indexado:

Archivo indexado:

Organización de Directorios

CONTENIDO

Asociado con cualquier sistema de gestión de archivos o cualquier conjunto de archivos suele haber un directorio de archivos. El directorio contiene información sobre los archivos, incluyendo atributos, ubicación y propietario. El directorio es propiamente un archivo poseído por el sistema operativo y accesible a través de diversas rutinas de gestión de archivos. Aunque parte de la información de los directorios está disponible para los usuarios y aplicaciones, ésta la proporcionan, generalmente de un modo indirecto, las rutinas del sistema.

Los usuarios no pueden acceder directamente al directorio, incluso en modo de sólo lectura.

Desde punto de vista del usuario, el directorio ofrece una traducción entre los nombres de archivo conocidos por usuarios y por aplicaciones y los archivos propiamente dichos. Cada entrada incluirá el nombre del archivo. Casi todos los sistemas trabajan con clases diferentes de archivos y diferentes organizaciones de archivos, por lo que también se incluye esta información. Un tipo de información importante sobre cada archivo es aquella relativa a su almacenamiento, incluyendo su ubicación y tamaño. En los sistemas compartidos, también es importante ofrecer información para controlar el

Page 7: Objetivos para un sistema de gestión de archivos de Ficheros.pdfcreación y eliminación de archivos y realizando operaciones sobre los archivos. Antes de realizar cualquier operación,

acceso del archivo.

Un usuario será el propietario del archivo y podrá otorgar ciertos privilegios de acceso a otros usuarios, luego se necesita información para gestionar la utilización actual del archivo y guardar un historial sobre su uso.

Elementos de información que se almacena normalmente en el directorio para cada archivo del sistema:

Información básica

*Nombre del archivo: nombre elegido por el creador ( usuario o programa). Debe ser único en un directorio específico.

*Tipo de archivo: por ejemplo: texto, binario, módulo de carga, etc.

*Organización de archivo: para sistemas que soportan varias organizaciones.

Información de dirección

*Volumen: indica el dispositivo donde se almacena el archivo.

*Dirección de comienzo: dirección física de inicio de la memoria secundaria (cilindro, pista y número de bloque en disco).

*Tamaño usado: tamaño actual del archivo en bytes, palabras o bloques.

*Tamaño asignado: tamaño máximo del archivo.

Información de control de acceso

*Propietario: usuario con control sobre el archivo. El propietario puede otorgar o denegar acceso a otros usuarios y cambiar estos privilegios.

*Información de acceso: una versión simple de este elemento incluye el nombre del usuario y la contraseña para cada usuario autorizado.

*Acciones permitidas: controla la lectura, escritura, ejecución y transmisión por una red.

Información de uso

*Fecha de creación: cuándo se añadió el archivo al directorio.

*Identidad del creador: normalmente, pero no siempre, el propietario.

*Fecha de última lectura: fecha de la última vez que se leyó un registro.

*Identidad del último lector: usuario que hizo la lectura.

*Fecha de última modificación: fecha de la última actualización, inserción o borrado.

*Identidad del último modificador: usuario que hizo la modificación.

*Fecha de la última copia de reserva : fecha de la última vez que el archivo fue copiado en otro medio de almacenamiento.

*Utilización actual: información sobre la actividad actual del archivo, como el (los) proceso(s) que tiene abierto el archivo, si está bloqueado por un proceso y si el archivo ha sido actualizado en la memoria principal, pero aún no en el disco.

Page 8: Objetivos para un sistema de gestión de archivos de Ficheros.pdfcreación y eliminación de archivos y realizando operaciones sobre los archivos. Antes de realizar cualquier operación,

ESTRUCTURA

Parte de la información puede guardarse en un registro de cabecera asociado al archivo; esto reduce la cantidad de espacio necesario para el directorio, haciendo más fácil mantener todo el directorio o parte en la memoria principal para mejorar la velocidad. Por supuesto, algunos elementos clave deben permanecer en el directorio; normalmente, estos incluyen el nombre, dirección, tamaño y organización.

La forma más simple de estructuración de un directorio es una lista de entradas, una para cada archivo, puede representarse con un simple archivo secuencial, con el nombre del archivo haciendo las veces de clave, no es adecuada cuando múltiples usuarios comparten el sistema e incluso para un solo usuario con muchos archivos.

Para comprender los requisitos de una estructura de archivo, merece la pena considerar los tipos de operaciones que pueden realizarse con un directorio:

• Buscar: cuando un usuario o aplicación hace referencia a un archivo, debe buscarse en el directorio la entrada correspondiente al archivo.

• Crear archivo: al crear un nuevo archivo, debe añadirse una entrada al directorio.

• Borrar archivo: al borrar un archivo, debe eliminarse una entrada del directorio.

• Enumerar directorio: puede solicitarse todo el directorio o una parte. Generalmente, esta petición la hace un usuario y el resultado es una lista de todos los archivos poseídos por dicho usuario, junto a algunos de los atributos de cada archivo(tipo, información de control de acceso; información de uso).

• Actualizar directorio: cuando algunos atributos del archivo se almacenan en el directorio, un cambio en alguno de estos atributos requiere un cambio en la entrada del directorio correspondiente.

El usuario puede tener muchos tipos de archivos, incluyendo documentos de texto, archivos gráficos, hojas de cálculo, etc. El usuario puede querer tenerlos organizados por proyecto, tipo o de otra manera conveniente. Si el directorio es una simple lista secuencial, no ofrecerá ayuda alguna en la organización de los archivos y obligará al usuario a tener cuidado de no usar el mismo nombre para dos tipos diferentes de archivo.

El problema es mucho peor en un sistema compartido. Los nombres únicos se convierten en un problema serio. Además, es difícil ocultar a los usuarios determinadas partes del directorio global cuando no hay una estructura inherente en el mismo.

Para resolver estos problemas podría ser acudir a un esquema de dos niveles . En este caso, existe un directorio para cada usuario y un directorio maestro. El directorio maestro dispone de una entrada para cada directorio de usuario, incluyendo una dirección e información de control de acceso. Cada directorio de usuario es una simple lista de los archivos del usuario. Esta disposición significa que los nombres deben ser únicos sólo dentro del conjunto de archivos de cada usuario y que el sistema de archivos puede hacer cumplir fácilmente unas restricciones de acceso a los directorios, todavía no ofrece a los usuarios ayuda alguna para estructurar sus conjuntos de archivos.

Un método más potente y flexible, adoptado casi universalmente, es el directorio jerárquico o estructurado en árbol, eso quiere decir que existe un directorio maestro que contiene un número determinado de directorios de usuario, cada uno de estos directorios puede tener a su vez subdirectorios

Page 9: Objetivos para un sistema de gestión de archivos de Ficheros.pdfcreación y eliminación de archivos y realizando operaciones sobre los archivos. Antes de realizar cualquier operación,

y archivos como entradas. Esto se cumple en cualquier nivel, es decir en cualquier nivel un directorio puede constar de entradas para subdirectorios o entradas para archivos.

Queda comentar cómo se organiza cada directorio y subdirectorio. El método más simple es, por supuesto, almacenar cada directorio como un archivo secuencial, cuando los directorios contengan un número muy grande de entradas, tal organización puede conducir a tiempos de búsqueda innecesariamente grandes, en tal caso se prefiere una estructura de dispersión.

DESIGNACIÓN

Cada archivo del sistema debe tener un nombre único para que las referencias al archivo no sean ambiguas. Por otra parte, proporcionar nombres únicos es una carga inaceptable para los usuarios, especialmente en un sistema compartido.

Cualquier archivo del sistema puede ser localizado siguiendo un camino desde el directorio raíz o maestro, descendiendo por varias ramas hasta que se alcance el archivo. La serie de nombres de directorios, terminados con el propio nombre del archivo, constituye el nombre de camino del archivo, por ejemplo, un archivo que tiene el nombre de camino /UsuarioB/Textos/Tema1/ABC. La barra oblicua se utiliza para delimitar los nombres en la secuencia. El nombre del directorio maestro queda implícito porque todos los caminos comienzan en tal directorio. Es perfectamente aceptable tener varios archivos con el mismo nombre de archivo mientras tengan nombres de camino únicos. De esta forma, puede haber otro archivo en el sistema con el nombre ABC, pero su nombre de camino es /UsuarioB/Dibujos/ABC.

Aunque el nombre del camino facilita la elección de los nombres de archivo, para un usuario sería incómodo tener que deletrear el nombre del camino entero cada vez que haga una referencia a un archivo. Cada usuario interactivo o proceso tiene asociado un directorio actual, conocido a menudo como directorio de trabajo. Las referencias a los archivos son entonces relativas al directorio de trabajo, por ejemplo, si el directorio de trabajo del usuario B es “Textos” entonces el nombre de camino es Tema1/ABC. Cuando un usuario interactivo se conecte o cuando se cree un proceso, el valor por defecto para el directorio de trabajo será el directorio del usuario. Durante la ejecución, el usuario puede navegar por el árbol y así definir directorios de trabajo diferentes.

Compartimiento de Archivos

En un sistema multiusuario, casi siempre existe la necesidad de permitir a los usuarios compartir archivos. Se presentan entonces dos cuestiones: los derechos de acceso y la gestión a los accesos simultáneos.

Derechos de acceso

El sistema de archivos debe ofrecer una herramienta flexible que permita el compartimento general de archivos entre los usuarios, así como un conjunto de opciones para poder controlar el acceso a cada archivo

Page 10: Objetivos para un sistema de gestión de archivos de Ficheros.pdfcreación y eliminación de archivos y realizando operaciones sobre los archivos. Antes de realizar cualquier operación,

en particular. Generalmente, los usuarios o grupos de usuarios obtienen ciertos derechos de acceso a cada archivo.

La lista que se presenta a continuación representa los derechos de acceso que pueden asignarse a un usuario particular para un archivo específico.

Ninguno: el usuario no puede conocer la existencia del archivo ni acceder al mismo. Para aplicar esta restricción, no se permite al usuario leer el directorio de usuario que incluya al archivo.

Conocimiento: el usuario puede determinar que el archivo existe y quién es su propietario. El usuario puede solicitar derechos de acceso adicionales al propietario.

Ejecución: el usuario puede cargar y ejecutar un programa pero no puede copiarlo.

Lectura: el usuario puede leer el archivo para cualquier propósito, incluyendo copia y ejecución. Hay sistemas que distinguen entre visualizar y copiar. En el primero, el contenido del archivo puede mostrarse al usuario, pero no se lo puede copiar.

Adición: el usuario puede añadir datos al archivo pero no puede modificar o borrar el contenido del mismo.

Actualización: el usuario puede modificar, borrar y añadir datos al archivo. Incluye la escritura del archivo al principio, la reestructuración por completo o en parte y la eliminación de todos los datos o parte de ellos.

Cambio de protección: el usuario puede cambiar los derechos de acceso otorgados a otros usuarios. En algunos sistemas el propietario puede otorgar este derecho a los usuarios. Para frenar el abuso de este mecanismo, el propietario del archivo específica que derechos pueden ser cambiados.

Borrado: el usuario puede borrar el archivo del sistema de archivos.

Estos derechos constituyen una jerarquía, es decir, si un usuario particular adquiere el derecho de actualización para un archivo determinado, también habrá adquirido los derechos de: conocimiento,

ejecución, lectura y adición.

Un usuario es designado como propietario de un archivo dado, generalmente es la persona que crea el archivo al principio. El propietario cuenta con todos los derechos de acceso citados anteriormente y puede otorgar derechos a los otros.

El propietario puede ofrecer acceso a las siguientes clases de usuarios:

Usuario específico: usuarios individuales designados por su ID de usuario.

Grupos de usuarios: no definidos individualmente. El sistema debe disponer de algún medio para constatar la militancia de estos grupos.

Todos: todos los usuarios que tengan acceso al sistema. Estos serán archivos públicos.

Accesos simultáneos

Al otorgar acceso para añadir o actualizar un archivo a más de un usuario, el sistema operativo o el sistema de gestión de archivo debe hacer cumplir una disciplina. Un método consiste en permitir a los usuarios bloquear el archivo entero cuando lo actualicen. Un mejor control es bloquear los registros

Page 11: Objetivos para un sistema de gestión de archivos de Ficheros.pdfcreación y eliminación de archivos y realizando operaciones sobre los archivos. Antes de realizar cualquier operación,

individuales durante la actualización. Al diseñar la posibilidad de accesos compartidos ,se deben abordar aspectos de exclusión mutua e interbloqueo.

Agrupación de Registros

Registro: unidad lógica de acceso a los archivos.

Bloques: unidad de E/S para almacenamiento secundario.

Para realizar E/S los registros deben organizarse en bloques.

Hay aspectos a considerar:

1.Bloques de Longitud Fija o Variable

En muchos sistemas los bloques son de longitud fija, lo que simplifica la E/S, la asignación de buffers, y la organización de los bloques en la memoria secundaria.

2.Tamaño relativo de bloque en relación al tamaño medio de registro

Cuando más grande sea el bloque, más registros se transferirán por operación de E/S. Si el archivo se procesa secuencialmente, es una ventaja pues minimiza la E/S usando bloques más grandes. Si se accede aleatoriamente a los registros sin cercanía entre las referencias de los mismos, es una desventaja pues en la E/S se transfieren muchos registros que nunca serán usados.

Una combinación de la frecuencia de operaciones secuenciales con la posibilidad de cercanía de referencias, implicaría reducción de E/S usando bloques mayores. El inconveniente es que bloques grandes resultan en buffers de E/S grandes y difíciles de gestionar.

Métodos de Agrupación en Bloques

Bloques Fijos: registros de longitud fija. Se guarda en cada bloque un número entero de registros. Puede haber espacio sin usar al final de cada bloque (fragmentación interna).

Bloques de longitud variable con tramos: registros de longitud variable que se agrupan en bloques sin dejar espacios libres; por esto algunos registros podrían abarcar dos bloques indicando el tramo de continuación con un puntero al bloque siguiente.

Bloques de longitud variable sin tramos: registros de longitud variable sin dividirlos en tramos. En muchos bloque habrá espacios libres por no usar el resto del bloque si el siguiente es mayor que el espacio sin usar restante.

Conclusiones sobre los métodos

*Los bloques de tamaño fijo son el modo más común de archivos secuenciales con registros de

Page 12: Objetivos para un sistema de gestión de archivos de Ficheros.pdfcreación y eliminación de archivos y realizando operaciones sobre los archivos. Antes de realizar cualquier operación,

longitud variable.

*Los bloques de longitud variable con tramos son eficaces y no limitan el tamaño de registro, pero son difíciles de implementar: los registros que ocupan dos bloques requieren dos operaciones de E/S, los archivos se hacen difíciles de actualizar y la organización es compleja.

*Los bloques de longitud variable sin tramos desperdician espacio y limitan el tamaño de registro al tamaño del bloque.

Comentarios sobre memoria virtual y agrupación de registros

La técnica de agrupación de registros podría colaborar con el hardware de la memoria virtual, para ello es deseable que la unidad básica de transferencia sea la página, si estas son pequeñas es poco práctico tratarlas como bloques sin tramos por ello algunos sistemas combinan varias páginas para formar un bloque (mayor), para la E/S de archivos. Por ejemplo en archivos VSAM de máquinas IBM.

Gestión de Almacenamiento Secundario

La Memoria es el lugar donde se almacenan todos los datos como las instrucciones, existen dos tipos básicos de memoria, diferenciados principalmente por su velocidad:

La Memoria Principal, interna o central: es la que actúa con mayor velocidad y esta ligada directamente a las unidades mas rápidas de la computadora (unidad de control y unidad aritmetico_logica).

Para que un programa se ejecute debe estar almacenado en la Memoria Principal; esta se divide en dos zonas: en la de solo lectura (Memoria RAM) la cual es permanente, y otra en donde se puede leer y escribir (Memoria ROM) la que es volátil.

A diferencia de la Memoria Principal la Memoria Secundaria, auxiliar, masiva, externa no es tan veloz pero tiene gran capacidad para almacenar información en dispositivos tales como discos, cintas magnéticas, discos ópticos. Frecuentemente los datos y programas se graban en la Memoria Secundaria, de esta forma, cuando se ejecuta varias veces un programa o se utilicen repetidamente unos datos, no es necesario darlos de nuevo a través del dispositivo de entrada.

En la Memoria Secundaria un archivo consta de un conjunto de bloques (correspondiente a la cantidad de información que se transfiere físicamente en cada operación de acceso (lectura o escritura).

El Sistema Operativo o Sistema de Gestión de Archivos es el encargado de la asignación de bloques a archivos, de lo que surgen dos cuestiones, en primer lugar, debe asignarle el espacio de Memoria Secundaria a los archivos y, en segundo lugar, es necesario guardar constancia del espacio disponible para asignar.

En la asignación de archivos surgen varios planteos:

¿Al crearse un archivo, el espacio que necesita se le asigna el máximo de una vez o no?

¿Qué tamaño de sección debería usarse para asignar archivos?. Entendiéndose por sección al espacio que se asigna a un archivo en forma de una o mas unidades contiguas, el tamaño de la sección puede variar desde un único bloque a un archivo entero.

¿Que tipo de estructura de datos o tabla se usara para guardar constancia de las secciones asignadas

Page 13: Objetivos para un sistema de gestión de archivos de Ficheros.pdfcreación y eliminación de archivos y realizando operaciones sobre los archivos. Antes de realizar cualquier operación,

a un archivo?. Esta tabla se conoce como tabla de asignación de archivos (FAT File Allocation Table).

El primer planteo es el de la asignación previa frente a asignación dinámica:

La asignación previa requeriría que el tamaño se declarase en el momento de crearlo, esto es difícil de estimar de manera fiable, ya que al asignar el espacio máximo al archivo se puede sobrestimar el tamaño de la asignación de forma que no falte espacio, esto es un derroche desde el punto de vista de la asignación de Memoria Secundaria, por lo que existen ventajas en el uso de la asignación dinámica, que asigna espacio a los archivos en secciones a medida que se necesitan.

Otro planteo es el del tamaño de sección:

Se puede asignar una sección suficientemente grande como para guardar el archivo entero, o asignar el espacio en disco bloque en bloque.

Se debe tener en cuenta los siguientes elementos:

La contigüidad aumenta el rendimiento, especialmente para las operaciones de Recupere_Siguiente y, para ejecutar las transacciones de un sistema orientado a transacciones.

Disponer de un gran numero de secciones pequeñas aumenta el tamaño de las tablas necesarias para gestionar las asignación de información.

Disponer de secciones de tamaño fijo (bloques) simplifica la resignación del espacio.

Disponer de secciones de tamaño variable o secciones pequeñas de tamaño fijo minimiza la perdida de espacio no usado provocada por la sobreasignación.

Estos elementos interactuan entre si por lo que se deben considerar en conjunto:

Secciones contiguas variables y grandes: esta opción ofrecerá un rendimiento mejor. El tamaño variable evitara la perdida y las tablas de asignación de archivos serán pequeñas. Sin embargo el espacio es difícil de reutilizar.

Bloques: las secciones fijas y pequeñas ofrecen una flexibilidad mayor. Se pueden necesitar tablas grandes o estructuras complejas para su asignación. La contigüidad se abandona, los bloques se asignan a medida que se necesitan.

Las opciones anteriormente redactadas son compatibles con la asignación previa o con la asignación dinámica. Para la primera se asigna previamente a los archivos un grupo contiguo de bloques. Esto elimina la necesidad de una tabla de asignación de archivos; lo único que se necesita es un puntero al primer bloque y el numero de bloques asignados. En el segundo caso, todas las secciones necesarias son asignadas de una vez. Esto significa que la tabla de asignación del archivo permanecerá con un tamaño fijo.

Con secciones de tamaño variable, hay que preocuparse por la fragmentación del espacio libre, se pueden utilizar las siguientes estrategias:

Primer ajuste (first fit): elegir el primer grupo de bloques sin usar de tamaño suficiente.

Page 14: Objetivos para un sistema de gestión de archivos de Ficheros.pdfcreación y eliminación de archivos y realizando operaciones sobre los archivos. Antes de realizar cualquier operación,

Mejor ajuste (best fit): elegir el grupo mas pequeño sin usar que tenga de tamaño suficiente.

Ajuste mas cercano (nearest fit): elegir el grupo sin usar de tamaño suficiente que esta mas cerca al asignado previamente al archivo para aumentar la cercanía.

Métodos de asignación de archivos:

Existen tres métodos de asignación: el contiguo, encadenado e indexado.

El contiguo: cuando se crea un archivo se le asigna un único conjunto contiguo de bloques, esta es un estrategia de asignación previa que emplea secciones de tamaño variable. La tabla de asignación de archivos necesita solo una entrada por cada archivo y que muestre el bloque de comienzo y la longitud del archivo. La asignación contigua es la mejor para un archivo secuencial.

La asignación contigua presenta algunos problemas, como la fragmentación externa. Lo que hace difícil encontrar bloques contiguos de espacio de tamaño suficiente., lo que lleva a ejecutar un algoritmo de compactación para libera el espacio adicional en el disco.

La asignación encadenada: la asignación se hace con bloques individuales, cada bloque contendrá un puntero al siguiente bloque de la cadena. La tabla de asignación de archivos necesita una sola entrada por cada archivo que muestre el bloque de comienzo y la longitud del mismo, cualquier bloque puede añadirse a la cadena. No hay que preocuparse por la fragmentación externa porque solo se necesita un bloque cada vez.

Una consecuencia del encadenamiento es que no hay cabida para el principio de cercanía, si es necesario traer varios bloques de un archivo al mismo tiempo, se necesita una serie de accesos a partes diferentes del disco por lo que se debe ejecutar un algoritmo de compactación para liberar el espacio adicional en el disco.

La asignación indexada: en esta asignación la tabla de asignación de archivos contiene un índice separado de un nivel para cada archivo: el índice posee una entrada para cada sección asignada al archivo. Normalmente, los índices no están almacenados físicamente como parte de la tabla de asignación de archivos. Mas exactamente el indice de archivo se guardara en un bloque aparte y la entrada del archivo en la entrada de asignación apuntara a dicho bloque. La asignación puede hacerse por bloques de tamaño fijo, O en secciones de tamaño variable. La asignación por bloques elimina la fragmentación externa, mientras que la asignación por secciones de tamaño variable mejora la cercanía. En cualquier caso, los archivos pueden concentrarse en zonas cercanas de cuando en cuando. La concentración reduce el tamaño del índice en el caso de secciones de tamaño variable, pero no en el caso de asignación por bloques. La asignación indexada soporta tanto el acceso secuencial como el acceso directo a los archivos y por ello se ha convertido en la forma mas popular de asignación de archivos.

Page 15: Objetivos para un sistema de gestión de archivos de Ficheros.pdfcreación y eliminación de archivos y realizando operaciones sobre los archivos. Antes de realizar cualquier operación,

Gestión del espacio libre

Se debe gestionar el espacio que no está asignado a ningún archivo. Para esto es necesario saber qué bloques están disponibles, entonces hace falta una tabla de asignación e discos. Se utilizan tres técnicas de uso común: las tablas de asignación de bits, las secciones libres encadenadas y la indexación.

Tablas de bits:

Utiliza un vector que contiene un bit por cada bloque del disco. Cada entrada igual a 0 es un bloque libre, si es un 1 corresponde a un bloque en uso. Tienen la ventaja de que es fácil encontrar un bloque libre o un grupo de bloques libres.

La cantidad de memoria requerida para un mapa de bits en bloques se puede calcular:

Es recomendable ubicar la tabla de bits en la memoria, aún cuando la tabla de bits esté en la memoria, una búsqueda exhaustiva de la tabla puede reducir considerablemente el rendimiento del sistema de archivos. Esto es especialmente cierto cuando el disco está casi lleno y hay pocos bloques libres. De acuerdo con esto la mayor parte de los sistemas que utilizan tablas de bits mantiene estructuras de datos auxiliares que resumen el contenido de subrangos de las tablas de bits. Esta tabla resumen podría incluir por cada subrango, el número de bloques libres y el máximo tamaño de números de bloques libres contiguos.

Secciones libres encadenadas:

Pueden encadenarse juntas mediante un puntero y un valor de longitud en cada sección libre. No tiene necesidad de una tabla de asignación de disco, sino un puntero al comienzo de la cadena y la longitud de la primera sección.

Este método sirve para todas las técnicas de asignación de archivos, si la asignación se realiza por bloques sólo hay que elegir el bloque libre del principio de la cadena y retocar el primer puntero o el valor de la longitud. Si la asignación se hace por secciones de longitud variable, puede usarse el algoritmo el primer ajuste.

Este método tiene sus propios problemas, después de un tiempo de uso el disco llegará a estar fragmentado y muchas secciones serán de un solo bloque. Cada vez que asigna un bloque es necesario leer antes el bloque para recuperar el puntero al nuevo primer bloque libre antes de escribir datos sobre ese bloque, entonces se ralentizará mucho la creación del archivo.

Indexación:

Trata al espacio libre como si fuera un archivo y utiliza una tabla índice como la descrita en la asignación de archivos. Por eficiencia el índice debe trabajar con secciones de tamaño variables mejor

Tamaño del disco en bytes

8*tamaño del bloque en el sistema de archivos

Page 16: Objetivos para un sistema de gestión de archivos de Ficheros.pdfcreación y eliminación de archivos y realizando operaciones sobre los archivos. Antes de realizar cualquier operación,

que con bloques. De este modo habrá una entrada en la tabla para cada sección libre del disco. Este procedimiento ofrece un soporte eficaz para todos los métodos de asignación de archivos.

Lista de bloques libres:

Cada bloque tiene asignado un número secuencial y la lista de números de todos los bloques libres mantenidos en una sección reservada del disco. Considérense los siguientes puntos:

1- El espacio en disco dedicado a la lista de bloques libres es menor que el 1% del espacio total del disco. Si se utiliza un número de bloque de 32 bits, entonces el espacio penalizado es de 4 bytes por cada bloque de 512 bytes.

2- Aunque la lista de bloques libres sea demasiado grande para almacenar en la memoria principal, existen dos técnicas efectivas para almacenar una pequeña parte de la lista en la memoria principal.

a) La lista puede traerse como una pila con los primeros miles de elementos de la pila guardados en la memoria principal. Cuando se asigna un bloque nuevo, se retira de la cima de la pila, y

b) cuando se desasigna uno se lo apila dentro de la pila, solo hay una transferencia entre el disco y la memoria principal, cuando la sección que está en la memoria de la pila está llena o vacía.

c) La lista puede tratarse como una cola FIFO, con unas pocas miles entradas entre el principio y el final de la cola en la memoria. Un bloque se asigna tomando la primera entrada de la cabeza de la cola y se desasigna añadiéndolo al final de la cola. Solo existen transferencias entre el disco y la memoria principal, cuando la sección que en la memoria del principio de la cola está vacía o la sección en la memoria del final de la cola está llena.

En cada uno de los puntos anteriores, un hilo puede e segundo plano puede clasificar en la memoria una lista para facilitar la asignación contigua.

FIABILIDAD:

Considerar:

El usuario A solicita una asignación para añadir datos a un archivo existente.

La petición se atiende y se actualizan en la memoria principal las tablas de asignación de disco y archivos, pero aún no en el disco.

El sistema se hunde y a continuación se reinicia.

El usuario B solicita una asignación y se le otorga un espacio en el disco que se solapa con la última asignación hecha al usuario A.

El usuario A accede a la sección solapada mediante una referencia que está almacenada en el archivo de A.

Page 17: Objetivos para un sistema de gestión de archivos de Ficheros.pdfcreación y eliminación de archivos y realizando operaciones sobre los archivos. Antes de realizar cualquier operación,

Esto sucede debido a que el sistema por eficiencia el sistema mantiene copias de la tabla de asignación de disco y de la tabla de asignación de archivos en la memoria principal. Para evitar esta clase de errores pueden darse los siguientes pasos cuando se solicite una asignación:

Bloquear en el disco la tabla de asignación de disco. Lo que impedirá a otro usuario alterar la tabla hasta que la asignación de archivos actual se complete.

Buscar espacio disponible en la tabla de asignación de disco. Se supone que mantiene siempre en la memoria principal una copia de la tabla de asignación de disco. Si no fuese así, primero debe leerse ésta del disco.

Asignar el espacio, actualizar la tabla de asignación de disco y actualizar el disco. Actualizar el disco implica volcar de nuevo al disco la tabla de asignación de disco. Con asignación encadenada, también se necesita actualizar algunos punteros del disco.

Actualizar la tabla de asignación e archivos y actualizar el disco.

Desbloquear la tabla de asignación de disco.

Esta técnica impedirá los errores, pero cuando se asignan pequeñas secciones de manera frecuente, el impacto en el rendimiento será sustancial. Para reducir este gasto, puede usarse un esquema de asignación por lotes, en cuyo caso se obtienen lotes de secciones libres del disco para asignación. Las secciones correspondientes del disco se marcarán como en uso. La asignación por lotes puede llevarse a cabo en la memoria principal.

Gestión de archivos en Unix

Para un kernel Unix todos los archivos son flujos de bytes, cualquier estructura lógica interna será especificada por la aplicación, pero sí está contemplada estructura física de los archivos.

Tipos de archivos

Ordinarios: contienen información creada por usuarios, aplicaciones o el sistema operativo.

Directorios: son listas de nombres de archivo y punteros a nodos-i asociados. Están organizados jerárquicamente. Son realmente archivos ordinarios con privilegio especial de protección para que solo el sistema de archivos pueda escribir en ellos (programas de usuario tienen permiso de lectura).

Especiales: se usan para acceder a dispositivos periféricos como impresoras, cada dispositivo de E/S tiene asociado un archivo especial.

Nombrados: pipes (tuberías) con nombre.

Nodos-i

Todos los tipos de archivos son administrados por Unix por medio de nodos-i. Éste es una estructura de control que contiene información (permisos, atributos, información de control, etc.), de un archivo necesaria para el sistema operativo.

Page 18: Objetivos para un sistema de gestión de archivos de Ficheros.pdfcreación y eliminación de archivos y realizando operaciones sobre los archivos. Antes de realizar cualquier operación,

Puede asociarse varios nombres de archivo a un mismo nodo-i, pero un nodo-i activo se puede asociar con un único archivo (cada uno es controlado por un solo nodo-i).

Asignación de Archivos

Los archivos se asignan en bloques dinámicamente según sea necesario, por ello no hay asignación previa. Por esto los bloques pueden no ser contiguos, y se usa un método de indexación para “formar” un archivo: un índice en parte guardado en el nodo-i, 39 bytes de información de dirección, organizada como 13 direcciones; las primeras 10 direcciones apuntan los primeros 10 bloques de datos del archivo, si éste es más grande que 10 bloques se usan más niveles de indexación llamados “indirectos”. A considerar:

La dirección 11 del nodo-i apunta a un bloque del disco que contiene la siguiente parte del índice, este bloque es llamado “indirecto simple” y contiene los punteros a los siguientes bloques que forman el archivo.

Si el archivo contiene más bloques: la dirección 12 del nodo-i apuntará a un bloque “indirecto doble” que contendrá una lista de direcciones de bloques “indirectos simples” adicionales.

Si el archivo tiene aún más bloques: la dirección 13 del nodo-i apuntará a un bloque “indirecto triple” que consiste en un tercer nivel que apunta a bloques “indirectos dobles” adicionales.

El número total de bloques de un archivo depende de la capacidad de los bloques de tamaño fijo del sistema. Por ejemplo: en Unix SV la longitud de bloque es de 1KB y cada uno puede guardar 256 direcciones de bloques, por lo tanto el tamaño máximo de archivo sería cercano a 16 GB.

Ventajas de los nodos-i

Son de tamaño fijo y pequeños por lo que pueden permanecer en memoria principal largos períodos.

Se accede a archivos pequeños de modo directo o indirecto reduciendo el tiempo de acceso al disco.

El tamaño máximo teórico de un archivo satisface los requerimientos de la mayoría de las aplicaciones.

Sistema de archivos en Windows 2000

Los diseñadores de Windows 2000 diseñaron un nuevo sistema de archivos, el sistema de archivos de W2K (NTFS), que cumple requisitos de estaciones de trabajo y servidores.

Algunas aplicaciones de alto nivel pueden ser :

Aplicaciones Cliente/ Servidor tales como servidores de archivos, de procesamiento y de base de datos.

Ingeniería de recursos intensivos y aplicaciones científicas.

Aplicaciones de redes para grandes sistemas corporativos.

Page 19: Objetivos para un sistema de gestión de archivos de Ficheros.pdfcreación y eliminación de archivos y realizando operaciones sobre los archivos. Antes de realizar cualquier operación,

Características clave de NTFS

NTFS es un sistema de archivos potente y flexible construido sobre un modelo de sistema de archivos simple y refinado, estas son sus características mas importantes:

Recuperabilidad: Ante las caídas del sistema y fallos del disco, NTFS es capas de reconstruir los volúmenes de disco y devolverlos a un estado consistente.

Seguridad: NTFS utiliza el modelo de objetos de W2K para imponer la seguridad. Un archivo abierto se implementa como un objeto archivo con un descriptor de seguridad que define sus atributos de seguridad.

Discos grandes y archivos grandes: NTFS soporta discos muy grandes y archivos muy grandes mas eficientemente que la mayoría de los sistemas de archivos, incluyendo FAT.

Serie de datos múltiples: el contenido de un archivo se trata como una serie de bytes, en NTFS es posible definir múltiples series de datos para un solo archivo.

Capacidad de indexación general: NTFS asocia un conjunto de atributos con cada archivo. El conjunto de descripciones de archivo en un sistema de gestión de archivos se organiza como una base de datos relacional, así los archivos de pueden indexar por cualquier atributo.

Estructura de archivos y volúmenes NTFS

NTFS hace uso de los siguientes conceptos de almacenamiento en disco:

Sector: la unidad de almacenamiento físico mas pequeña sobre el disco. El tamaño de los datos en bytes es una potencia de 2 y es casi siempre de 512 bytes.

Agrupamiento (cluster): uno o mas sectores contiguos , siguientes uno al otro en la misma pista. El tamaño del agrupamiento en sectores es una potencia 2.

Volumen: una partición lógica sobre el disco, que consta de uno o mas agrupamientos y que el sistema de archivos utiliza para asignar el espacio. En un instante dado, un volumen consta de la información del sistema de archivos, un conjunto de archivos y cualquier espacio libre adicional en el resto del volumen que se pueda asignar a los archivos. Un volumen puede ser todo o una parte de un único disco o puede extenderse a través de múltiples discos. El tamaño máximo de volumen para NTFS es de 2

El uso de agrupamientos par asignación hace independiente a NTFS del tamaño del sector físico. Esto permite a NTFS soportar fácilmente discos no estándar que no tienen sectores de 512 bytes, y soportar eficientemente archivos muy grande mediante el uso de tamaño de agrupamiento mas grande. La eficiencia viene del hecho de que el sistema de archivos debe guardar la pista de cada agrupamiento asignado a cada archivo; con agrupamientos mas grandes, hay menos campos para gestionar.

Page 20: Objetivos para un sistema de gestión de archivos de Ficheros.pdfcreación y eliminación de archivos y realizando operaciones sobre los archivos. Antes de realizar cualquier operación,

Disposición de un volumen NTFS

Esta disposición esta formado por cuatro regiones.

1) Los primeros sectores de un volumen están ocupados por la partición del sector de arranque (puede tener hasta 16 sectores de longitud) que contiene información acerca de la disposición de un volumen y de las estructuras del sistema de archivos, así como la información y el código de arranque.

2) A continuación esta la “Tabla Maestra de Archivos” (MFT), contiene información acerca de todos los archivos y carpetas de este volumen NTFS, así como la información de espacio disponible.

3) La (MTT), es una lista de todos los contenidos de este volumen NTFS organizada como un conjunto de filas en una estructura de base de datos relacional.

4) Región que contiene los archivos del sistema, normalmente alrededor de 1Mbytes.

(1) MFT2: un espejo de las tres primeras filas de la MFT, utilizado para garantizar el acceso a la MFT en el caso de un fallo de ese sector.

(2) Archivo de registro: una lista de los pasos de transacciones utilizados para la recuperabilidad de NTFS.

(3) Mapa de bits de agrupamiento: es una representación del volumen, mostrando qué agrupamientos están en uso.

(4) Tabla de definición de atributos: define los tipos de atributos soportados en este volumen e indican si se pueden indexar y si se pueden recuperar mediante una operación de recuperación del sistema.

Tabla maestra de archivos:

Está organizada como una tabla de filas de longitud variable, denominados registros. Cada fila describe un archivo o carpeta en este volumen, incluyendo a la propia MFT, que se trata como a otro archivo.

Disposición de un volumen NTFS.

Cada registro en la (MFT) consta de un conjunto de atributos que caracteriza al archivo o carpeta y el contenido del archivo.

Tipos de atributos

Información estándar: atributos de acceso, marcas de tiempo, contador de enlaces, etc.

Lista de atributos: describe al archivo y la referencia al registro de la MFT. Se lo utiliza cuando todos los atributos no caven en un solo registro de la MFT.

Nombre de archivo:

Page 21: Objetivos para un sistema de gestión de archivos de Ficheros.pdfcreación y eliminación de archivos y realizando operaciones sobre los archivos. Antes de realizar cualquier operación,

Descriptor de seguridad: quién es el propietario del archivo y quien puede accederla.

Datos: son el contenido del archivo.

Raíz de índices: usada para implementar carpetas.

Asignación de índices: usada para implementar carpetas.

Volumen de información: información relativa al volumen, versión y nombre.

Mapa de bits: representa a los registros en uso en la MFT o carpeta.

Recuperabilidad: los elementos clave son los siguientes:

Gestor de Entrada/Salida: Incluye controlador NTFS, que gestiona las funciones básicas, tales como: Apertura – Cierre – Lectura y Escritura.

Servicio de archivos de registro: mantiene un registro de escrituras al disco. Se lo utiliza para recuperar un volumen con formato NTFS en caso de fallo en el sistema.

Gestor de Caché: responsable de leer y escribir los archivos situados en la caché. Optimiza la E/S a disco utilizando técnicas de escritura retardada y confirmación retardada.

Gestor de memoria virtual: accede a la caché de archivos NTFS mediante la traducción de referencias al archivo a referencias a la memoria virtual, y , lecturas y escrituras en la memoria virtual.

La esencia de recuperación, está en el registro. Cada operación que modifica el sistema de archivos se trata como una transacción, se registra en un archivo de registro. Por medio del registro, una transacción parcialmente completada en el momento de la caída del sistema, puede rehacerse o deshacerse mas tarde, cuando se recupere el sistema.

Pasos a dar para asegurar la recuperabilidad:

NTFS primero lleva al registro del sistema de archivo para grabar en el archivo de registro de la caché, cualquier transacción que modifique la estructura del volumen.

NTFS modifica el volumen (en la caché).

El gestor de caché llama al registro del sistema de archivos para indicarle que lleve el archivo de registro al disco.

Una ves que el archivo de registro actualizado está seguro en el disco, el gestor de caché lleva los cambios del volumen al disco.

ConclusiónUn sistema de gestión de archivos es un sistema que proporciona servicios a usuarios y aplicaciones para el uso de archivos, conservación de directorios y control de acceso. Generalmente el sistema de gestión de archivos se contempla como un servicio del sistema que se sirve a su vez del sistema operativo, más que como una parte del propio sistema operativo. Sin embargo, al menos una parte e las funciones de gestión de archivos las realiza el mismo sistema operativo.

Un archivo es una colección de registros, y la organización lógica, también física en el disco; en algún punto, de estos registros está determinada por la forma en la que se accede a ellos

Page 22: Objetivos para un sistema de gestión de archivos de Ficheros.pdfcreación y eliminación de archivos y realizando operaciones sobre los archivos. Antes de realizar cualquier operación,

Si un archivo va a ser procesado en su totalidad, la organización secuencial es la más simple y adecuada.

Si el acceso es secuencial, pero también se desea el acceso aleatorio al archivo, entonces es útil una organización secuencial indexada, que podría dar el mejor rendimiento.

Cuando el tipo de acceso es básicamente aleatorio, sería más apropiado un archivo aleatorio o de dispersión.

Más allá de la estructura es indispensable un sistema de directorios para una organización jerárquica. Esto es útil para que los usuarios sigan la pista de los archivos y para que el sistema de gestión de archivos proporcione a los usuarios un control de acceso junto a otros servicios.

Los registros no se ajustan al tamaño del bloque del disco, ni siquiera los de tamaño fijo, entonces se utiliza una estrategia de agrupación, la cual quedará determinada por un equilibrio entre la complejidad, el rendimiento y el aprovechamiento del espacio.

Una función clave de cualquier sistema de gestión de archivos es la gestión del espacio en disco. Una parte de esta función s la estrategia de asignación de bloques en disco a los archivos, se han utilizado una amplia variedad de métodos y de estructuras de datos para guardar constancia de la ubicación de cada archivo. Hay que tener en cuenta que también debe gestionarse el espacio en disco que no ha sido asignado. Esta última función consiste en mantener una tabla de asignación de discos que indique los bloques que están libres.