Está en la página 1de 36

Unidad 5 Sistemas de archivos

Qu son los sistemas de archivos?


Un sistema de archivos son los mtodos y estructuras de datos que un sistema
operativo utiliza para seguir la pista de los archivos de un disco o particin; es decir,
es la manera en la que se organizan los archivos en el disco. El trmino tambin es
utilizado para referirse a una particin o disco que se est utilizando para
almacenamiento, o el tipo del sistema de archivos que utiliza. As uno puede decir
tengo dos sistemas de archivo refirindose a que tiene dos particiones en las que
almacenar archivos, o que uno utiliza el sistema de archivos extendido,
refirindose al tipo del sistema de archivos.
La diferencia entre un disco o particin y el sistema de archivos que contiene es
importante. Unos pocos programas (incluyendo, razonablemente, aquellos que crean
sistemas de archivos) trabajan directamente en los sectores crudos del disco o
particin; si hay un archivo de sistema existente all ser destruido o corrompido
severamente. La mayora de programas trabajan sobre un sistema de archivos, y por
lo tanto no utilizarn una particin que no contenga uno (o que contenga uno del tipo
equivocado).
Antes de que una particin o disco sea utilizada como un sistema de archivos,
necesita ser iniciada, y las estructura de datos necesitan escribirse al disco. Este
proceso se denomina construir un sistema de archivos.
5.1 Concepto de Sistema de archivos
Concepto 1:
Son los algoritmos y estructuras lgicas utilizadas para poder acceder a la
informacin que tenemos en el disco. Cada uno de los sistemas operativos crea estas
estructuras y logaritmos de diferente manera independientemente del hardware.
El desempeo de nuestro disco duro, la confiabilidad, seguridad, capacidad de
expansin y la compatibilidad, estar en funcin de estas estructuras lgicas.
Fat 12: Es el sistema de archivos de DOS, y es con el que formateamos los
disquetes. Fue muy utilizado en las primeras PCs.
Fat 16: Este sistema de archivos tena muchas limitaciones, por ejemplo si el disco
duro era mayor de 2 GB, era imposible particionarlos y no usaba nombre largos en
los archivos, solo 8 caracteres.
Fat 32: Fue utilizado a partir de 1997, y pudo ser utilizado en Windows 98, pero a
medida que el tamao de los discos duros se incrementaba, surgieron nuevas
limitaciones. Se llamo Fat32, por que utiliza nmeros de 32 bits para representar a
los clusters en lugar de los 16 en los sistemas anteriores.
NTFS

Fig. 5.1.1 Archivos NTFS


Especialmente creado para usarlo en Windows NT, es ms complejo que los FAT. El
propsito era satisfacer la demanda y necesidades de de seguridad y eficacia para
servidores y otras aplicaciones en red. No tiene limitaciones de tamao clusters y en
general en el disco. Una ventaja de este sistema de archivos es que tiene un sistema
antifragmentacin.
Linux:

Fig. 5.1.2 Logo Linux


Este sistema de archivos trabaja de manera totalmente distinta, las particiones del
disco se colocan en el directorio raz. Podemos incluso tener diferentes particiones y
cada una de ellas tener su propio sistema de archivos.
Concepto 2:
En computacin, un sistema de archivos es un mtodo para el almacenamiento y
organizacin de archivos de computadora y los datos que estos contienen, para
hacer ms fcil la tarea encontrarlos y accederlos. Los sistemas de archivos son
usados en dispositivos de almacenamiento como discos duros y CD-ROM e involucran
el mantenimiento de la localizacin fsica de los archivos.
Ms formalmente, un sistema de archivos es un conjunto de tipo de datos abstractos
que son implementados para el almacenamiento, la organizacin jerrquica, la
manipulacin, el acceso, el direccionamiento y la recuperacin de datos. Los
sistemas de archivos comparten mucho en comn con la tecnologa de las bases de
datos.
Los sistemas de archivos pueden ser representados de forma textual (ej.: el shell de
DOS) o grficamente (ej.: Explorador de archivos en Windows) utilizando un gestor
de archivos.
El software del sistema de archivos se encarga de organizar los archivos (que suelen
estar segmentados fsicamente en pequeos bloques de pocos bytes) y directorios,

manteniendo un registro de qu bloques pertenecen a qu archivos, qu bloques no


se han utilizado y las direcciones fsicas de cada bloque.
Los sistemas de archivos pueden ser clasificados en tres categoras: sistemas de
archivo de disco, sistemas de archivos de red y sistemas de archivos de propsito
especial.
Ejemplos de sistemas de archivos son: FAT, UMSDOS, NTFS, UDF, ext2, ext3, ext 4,
ReiserFS, XFS, etc.

Concepto 3:

Fig. 5.1.3 Administracin de archivos por el sistema operativo

Los archivos son administrados por el sistema operativo como se muestra en la Fig.
5.1.3. Su estructura, nombre, forma de acceso, uso, proteccin e implantacin son
temas fundamentales en el diseo de un sistema operativo. Aquella parte del
sistema operativo que trabaja con los archivos se conoce, como un todo, como el
sistema de archivos.
Concepto 4:
Debido a su importancia, es necesario que un sistema operativo tenga la capacidad
de leer, escribir, acceder y mantener la integridad de un sistema de archivos. Un
sistema de archivos provee al usuario con una abstraccin que le permitir crear con
facilidad colecciones de datos llamados archivos. Estas colecciones debern tener los
siguientes requisitos o propiedades:

Existencia a largo tiempo: Los archivos debern ser almacenados sobre una
unidad de almacenamiento y debern permanecer all aun cuando el usuario
apague el ordenador.

Debern tener la capacidad de ser compartidos: Los archivos tendrn nombres


que los identifique y debern poseer permisos de acceso los cuales permitirn
el compartimiento controlado entre procesos.

Debern poseer una estructura definida: Dependiendo del tipo de sistema de


archivos, un archivo deber poseer una estructura definida y conveniente;
permitiendo que los archivos puedan ser organizados en orden jerrquico o en
cualquier otro orden para reflejar su relacin con otros archivos.

El sistema de archivos como hemos dicho, posee una abstraccin que permite
realizar varias operaciones sobre los archivos. Entre estas operaciones tenemos:

Crear un archivo: El usuario o un proceso podr crear un nuevo archivo el cual


tomar una posicin dentro de la estructura del sistema de archivos.

Borrar un archivo: Un archivo podr ser borrado de la estructura.

Abrir un archivo: Un proceso podr abrir un archivo permitiendo el acceso a la


informacin contenida por dicho archivo. El proceso podr ejecutar varias
funciones sobre la informacin del archivo como leer, escribir, reemplazar, etc.

Cerrar un archivo: Un proceso puede cerrar el archivo dejando atrs los


privilegios de acceder a dicho archivo.

Leer: Un proceso podr leer parte de la informacin contenida en un archivo

Escribir: Un proceso podr aadir o reemplazar informacin en un archivo.

Los sistemas de archivos tambin mantienen una estructura de atributos asociada


con cada uno de los archivos la cual provee informacin sobre la situacin actual de

un archivo, quien es su dueo, el tamao del archivo, cuando fue creado, cuando fue
modificado, privilegios de acceso, entre otros.
Funciones del Sistema de Archivos.

Fig. 5.1.4 Manipulacin de archivos.


Los usuarios deben poder crear, modificar y borrar archivos como se muestra en la
Fig.
5.1.4.
Se deben poder compartir los archivos de una manera cuidadosamente controlada.
El mecanismo encargado de compartir los archivos debe proporcionar varios tipos de
acceso controlado:

Ej.: Acceso de Lectura , Acceso de Escritura , Acceso de Ejecucin , varias


combinaciones de estos, etc.

Se debe poder estructurar los archivos de la manera ms apropiada a cada


aplicacin.
Los usuarios deben poder ordenar la transferencia de informacin entre archivos.
Se deben proporcionar posibilidades de respaldo y recuperacin para prevenirse
contra:

La prdida accidental de informacin.

La destruccin maliciosa de informacin.

Se
debe
poder
referenciar
a
los
archivos
Simblicos ,brindandoIndependencia de Dispositivos .

mediante Nombres

En ambientes sensibles, el sistema de archivos debe proporcionar posibilidades


de Cifrado yDescifrado.
El sistema de archivos debe brindar una interface favorable al usuario:

Debe suministrar una visin lgica de los datos y de las funciones que sern
ejecutadas, en vez de una visin fsica.

El usuario no debe tener que preocuparse por:


o Los dispositivos particulares.
o Dnde sern almacenados los datos.
o El formato de los datos en los dispositivos.
o Los medios fsicos de la transferencia de datos hacia y desde los
dispositivos.

5.2 Archivos reales y virtuales


Archivo Virtual y Archivo Real
Un archivo virtual (Fig.5.2.1), es un archivo de uso temporal que es utilizado por
los procesos del sistema mientras se estn ejecutando dichos procesos. Estos
archivos se crean durante la ejecucin de un sistema y los utiliza para el
almacenamiento de informacin, intercambio y organizacin mientras se ejecuta el
sistema (Fig. 5.2.2), su tamao es muy variable y terminan al detener la ejecucin
del sistema, muchos de ellos son borrados, por ejemplo, los archivos *.tmp(Fig.
5.2.3) .
Se le conoce como archivo virtual, aquel que contiene los datos generados por el
usuario.

Fig.5.2.1 Archivo virtual

Fig. 5.2.2 Ejecucin del proceso

Fig. 5.2.3 Archivos temporales(*.tmp)


Archivo Real (Fig. 5.2.4) : Es un objeto que contiene programas, datos o cualquier
otro elemento.
Un archivo se muestra de manera real, en la informacin del espacio que ocupa en
un disco duro o sistema de almacenamiento, en otras palabras su tamao en bytes.

Fig. 5.2.4 Ejemplos de archivos reales


Un archivo se muestra de manera real, en la informacin del espacio que ocupa en
un disco duro o sistema de almacenamiento, en otras palabras su tamao en bytes.
La mayora de usuarios de computadoras comprendern con mucha facilidad el
trmino archivo relacionndolo directamente con ejemplos tales como los archivos
de texto que se pueden generar con cualquier procesador de texto.
Una caracterstica de este tipo de archivos es que a mayor texto que almacena el
archivo, mayor es el espacio en disco que consume dicho archivo. por ejemplo, una
lnea corta de texto ocupa menos espacio en disco que esa misma lnea copiada cien
veces. sin embargo al hablar de archivos virtuales las cosas son diferentes, pues
este tipo de archivos no consumen espacio en el disco duro, sino que se almacenan
en la memoria voltil, es decir la aquel tipo de memoria cuya informacin se pierde
al interrumpirse el flujo de corriente elctrica, esto es, la memoria ram.
5.3 Componentes de un sistema de archivos
Lo conforman todas aquellas rutinas encargadas de administrar todos los aspectos
relacionados con el manejo de Archivos.

En UNIX se define un File System como un sistema de software dedicado a la


creacin, destruccin, organizacin y lectura, escritura y control de acceso de los
archivos, funcionalmente los componentes de un sistema de archivos son lenguajes
de comandos, interpretador de comandos, manejador del almacenamiento
secundario, sistema de entrada y salida y mecanismos de respaldo y recuperacin.
En general, un Sistema de Archivos est compuesto por: Mtodos De Acceso,
Administracin De Archivos, Administracin De Almacenamiento
Secundario, Mecanismos De Integridad.
Mtodos De Acceso. Se ocupan de la manera en que se tendr acceso a la
informacin almacenada en el archivo. Ejemplo: Secuencial, Directo, indexado, etc.
Administracin De Archivos. Se ocupa de ofrecer los mecanismos para
almacenar, compartir y asegurar archivos, as como para hacer referencia a ellos.
Administracin De Almacenamiento Secundario. Se ocupa de asignar espacio
para los archivos en los dispositivos de almacenamiento secundario. En la siguiente
figura se muestra un ejemplo de la administracin de espacio en un disco duro.

Fig.5.3.1 Administracin de almacenamiento en un disco duro.


Mecanismos De Integridad. Se ocupan de garantizar que no se corrompa la
informacin de un archivo, de tal manera que solo la informacin que deba estar en
el, se encuentre ah.
Mecanismos de Organizacin Lgica. Contiene las diferentes rutinas y comandos
a travs de los cuales el usuario podr estructurar sus archivos virtuales.
Directorio de Identificadores. Convierte los identificadores simblicos de los
archivos en identificadores internos, los cuales apuntarn a su descriptor o a una
estructura que permite encontrar el archivo.
Sistemas Tericos de Archivos. Su objetivo es el de activar y desactivar a travs
de las rutinas de abrir y cerrar archivos y verifica el modo de acceso.

Mecanismos de Organizacin Fsica. Traslada las direcciones lgicas en


direcciones fsicas correspondientes a las estructuras de memoria secundaria y los
buffers en memoria principal necesarios para la transferencia de datos.
Mecanismos de E/S. Por cada peticin de acceso al archivo real, este mecanismo
genera la secuencia de operaciones elementales de entrada y salida que se
necesita.
SCHEDULING E/S. En este nivel es donde se tiene el nmero de peticiones
pendientes as como de las que se estn realizando y lleva el control y asignacin de
tiempo de CPU a las diferentes peticiones de E/S.

Fig. 5.3.2 Ejemplo de un scheduling.


5.4 Organizacin de Archivos
Se refiere a las diferentes maneras en las que puede ser organizada la informacin
de los archivos, as como las diferentes maneras en que sta puede ser accesada.
Dado que hay 2 niveles de visin de los archivos (fsico y lgico), se puede hablar
tambin de 2 aspectos de organizacin de archivos: Organizacin de archivos
lgicos y de archivos fsicos.

El sistema de archivos est relacionado especialmente con la administracin del


espacio de almacenamiento secundario, fundamentalmente con el almacenamiento
de disco.
Una forma de organizacin de un sistema de archivos puede ser la siguiente:

Se utiliza una raz para indicar en qu parte del disco comienza


el directorio raz .

El directorio raz apunta a los directorios de usuarios.

Un directorio de usuario contiene una entrada para cada uno de los archivos
del usuario.

Cada entrada de archivo apunta al lugar del disco donde est almacenado el
archivo referenciado.

Esta forma de organizacin se muestra en la Fig. 5.4.1.


Los nombres de archivos solo necesitan ser nicos dentro de un directorio de usuario
dado.
El nombre del sistema para un archivo dado debe ser nico para el sistema de
archivos.
En sistemas de archivo jerrquicos el nombre del sistema para un archivo suele
estar formado como el nombre de la trayectoria del directorio raz al archivo.
Organizacin lgica.
La mayora de las computadoras organizan los archivos en jerarquas
llamadas carpetas, directorios o catlogos. (El concepto es el mismo
independientemente de la terminologa usada.) Cada carpeta puede contener un
nmero arbitrario de archivos, y tambin puede contener otras carpetas. Las otras

carpetas pueden contener todava ms archivos y carpetas, y as sucesivamente,


construyndose un estructura en rbol en la que una carpeta raz (el nombre vara
de una computadora a otra) puede contener cualquier nmero de niveles de otras
carpetas y archivos. A las carpetas se les puede dar nombre exactamente igual que a
los archivos (excepto para la carpeta raz, que a menudo no tiene nombre). El uso de
carpetas hace ms fcil organizar los archivos de una manera lgica.
La mayor parte de las estructuras de organizaciones alternativas de archivos se
encuentran dentro de estas cinco categoras:
Pilas

Es la forma ms fcil 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 implcitamente con delimitadores,
explcitamente incluidos como un subcampo ms.
El acceso a los registros se hace por bsquedas exhaustiva y son fciles 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 fciles de organizar. Esta clase de archivo aprovecha bien el espacio cuando
los datos almacenados varan en tamao y estructura. Fuera de estos usos limitados,
este tipo de archivos no se adapta a la mayora de las aplicaciones.
Archivos secuenciales

Es la forma ms comn de estructura de archivos.


Se emplea un formato fijo para los registros, son de la misma longitud y constan del
mismo nmero de campos de tamao 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
organizacin 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 bsqueda 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 podrn
aplicar tcnicas de bsquedas ms eficientes. Al acceder un registro de un archivo
secuencial grande, se produce un procesamiento extra y un retardo considerable.
La organizacin fsica del archivo en una cinta o disco se corresponde exactamente
con la organizacin lgica 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 fsicamente el archivo secuencial como una lista
enlazada, en cada bloque fsico se almacena uno o ms registros y cada bloque del
disco contiene un puntero al bloque siguiente. La insercin de un nuevo registro
implica la manipulacin de puntero, pero no requiere que el nuevo registro ocupe
una posicin particular del bloque fsico.
Archivos secuenciales indexados

Los registros se organizan en una secuencia basada en un campo clave presentando


dos caractersticas, un ndice del archivo para soportar los accesos aleatorios y un
archivo de desbordamiento. El ndice proporciona una capacidad de bsqueda para
llagar rpidamente 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 ms 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 bsqueda continua en el archivo principal a partir de
la posicin 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, tambin
se aade al archivo de desbordamiento. El registro del archivo principal que precede
inmediatamente al nuevo registro segn la secuencia lgica se actualiza con un
puntero del registro nuevo en el archivo de desbordamiento, si el registro
inmediatamente anterior est tambin en el archivo de desbordamiento se
actualizar el puntero en el registro.
Para procesar secuencialmente un archivo completo los registros del archivo principal
se procesarn en secuencia hasta encontrar un puntero al archivo de
desbordamiento, el acceso contina en el archivo de desbordamiento hasta que
encuentra un puntero nulo, entonces renueva el acceso donde se abandon en el
archivo principal.
Archivos indexados

A los registros se accede solo a travs de sus ndices. No hay restriccin en la


ubicacin 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 bsqueda, el otro ndice es parcial que contiene entrada a los registros
donde est el campo de inters.
Con registro de longitud variable, algunos registros no contendrn todos los campos
y cuando se aade un registro al archivo principal, todos los archivos de ndices
deben actualizarse.
Archivos directos o de dispersin
Explotan la capacidad de los discos para acceder directamente a cualquier bloque de
direccin conocida.
Se requiere un campo clave en cada registro.
Los archivos directos son muy usados donde se necesita un acceso muy rpido,
donde se usan registros de longitud fija y donde siempre se accede a los registros de
una vez.
Organizacin fsica.
Los datos son arreglados por su adyacencia fsica, es decir, de acuerdo con el
dispositivo de almacenamiento secundario. Los registros son de tamao fijo o de
tamao variable y pueden organizarse de varias formas para constituir archivos
fsicos.
Cinta magntica.

En este dispositivo el archivo fsico est formado por un conjunto de registros fsicos,
y los bloques estn organizados en forma consecutiva, ya que se asigna en igual
forma.
Tales registros puede contener etiquetas que permitan un mayor control sobre los
datos almacenados, y son las siguientes:
- Etiqueta de volumen.- Contiene informacin que permite identificar la cinta, el
nombre del propietario y cualquier informacin general requerida.
- Etiqueta de archivo.- Se utilizan por pares para indicar el inicio y fin del archivo,
contiene informacin acerca del nombre del archivo, fecha de creacin.
- Etiqueta de usuario.- Sirven para guardar informacin adicional de importancia para
el usuario; no son procesados por el sistema operativo.
Discos Magnticos.

El archivo fsico en un disco es una coleccin de registros fsicos de igual tamao, los
cuales pueden estar organizados en forma consecutiva, ligada o con una tabla de
mapeo.
En la organizacin contigua, el archivo utiliza registros fsicos contiguos, siguiendo la
secuencia normal de direcciones.
La organizacin encadenada consiste un conjunto de bloques, cada uno de los cuales
tiene un campo destinado para indicar la direccin del siguiente registro, o sea, para
lo que se ha llamado enlace o liga.
Otra forma de organizacin es la tabla de mapeo que consiste en una tabla de
apuntadores a los registros fsicos que forman el archivo.

La organizacin fsica de un archivo en el almacenamiento secundario depende de la


estrategia de agrupacin y de la estrategia de asignacin de archivos.
Para elegir una organizacin 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 rpido para la recuperacin de un nico registro es una
preocupacin mnima. Un archivo almacenado en CD-ROM nunca ser actualizado,
por lo que la facilidad de actualizacin no se considera. Para la economa de
almacenamiento, debera existir una mnima redundancia de los datos, sta
redundancia es el medio fundamental para incrementar la velocidad de acceso a los
datos.
Este tipo de organizacin muestra a su vez, 2 aspectos importantes: Mtodos De
Asignacin De Espacio Libre y Asignacin De Espacio De Almacenamiento
Del Archivo.
METODOS DE ASIGNACION DE ESPACIO LIBRE
Un mtodo de asignacin de espacio libre determina la manera en que un Sistema
Operativo controla los lugares del disco que no estn siendo ocupados.
Para el control del espacio libre se puede utilizar como base alguno de los mtodos
tericos: Vector de Bits, Lista Ligada, Por Agrupacin y por Contador.

VECTOR DE BITS
Se tiene un arreglo de bits, el nmero de bits que tiene, representa cada sector del
disco, o sea que si los sectores 10 y 11 estn ocupados su representacin ser:

LISTA LIGADA
Existe una cabecera en la que se tiene la direccin del primer sector vaco, ese
sector a su vez, tiene un apuntador al siguiente bloque, y as sucesivamente hasta
que se encuentre una marca indicando que ya no hay espacio libre, tal y como se
muestra en la siguiente figura.

POR AGRUPACION
Es similar a la lista ligada, solo que en este se tiene por cada sector, un grupo de
apuntadores a varios espacios vacos, al final de cada bloque se tiene un apuntador a
otro grupo de apuntadores, observe la figura.

POR CONTADOR
Aqu, por cada conjunto de bloques contiguos que estn vacos, se tiene por cada
apuntador, un nmero de inicio y el tamao del grupo de sectores vacos.

MTODOS DE ASIGNACIN DE ESPACIO EN DISCO.


Un mtodo de asignacin de espacio en disco determina la manera en que un
Sistema Operativo controla los lugares del disco ocupados por cada archivo de datos.
Se debe controlar bsicamente la identificacin del archivo, sector de inicio y sector
final.
Para el control del espacio ocupado en disco se puede utilizar como base alguno de
los mtodos tericos: Asignacin Contigua, Asignacin Ligada, Asignacin
Indexada.
ASIGNACIN CONTIGUA.
Este mtodo consiste en asignar el espacio en disco de tal manera que las
direcciones de todos los bloques correspondientes a un archivo definen un orden
lineal. Por ejemplo:

VENTAJAS
La cabeza de lectura no se mueve
demasiado en la lectura de un
archivo.

DESVENTAJAS

Produce fragmentacin externa.

ASIGNACIN LIGADA
En este mtodo, cada archivo es una lista ligada de bloques de disco. En el directorio
hay un apuntador al bloque de inicio y un apuntador al bloque final para cada
archivo. En cada uno de los bloques donde se encuentra un archivo hay un
apuntador al siguiente bloque de la lista. Por ejemplo:

VENTAJAS
- No produce fragmentacin externa.

DESVENTAJAS

La cabeza de lectura se puede


mover demasiado en la lectura
de un archivo.

- Si una liga se pierde, se


perder el archivo completo.

Es ineficiente para la
implementacin de archivos
directos.

Se necesita un campo extra


para el apuntador.

ASIGNACIN INDEXADA
Como ya se vio, la asignacin ligada resuelve problemas de fragmentacin externa,
sin embargo, laasignacin ligada no soporta eficientemente el acceso directo a los
archivos. La asignacin indexada resuelve este problema poniendo todos los
apuntadores en una sola localidad: El bloque ndice.
Cada archivo tiene su bloque ndice, El cual es un arreglo de direcciones de bloques
de disco.
La i-sima entrada en el bloque ndice apunta al i-simo bloque que conforma el
archivo. En el directorio se controla la direccin del bloque ndice de cada archivo,
por ejemplo:

VENTAJAS

DESVENTAJAS

No produce fragmentacin
externa.

Existe desperdicio cuando


hay archivos muy chicos.

Eficiente para la
implementacin de archivos
directos.

Desbordamiento de bloque
ndice. (Solucin: creacin de
un esquema ligado; el ltimo
bloque ndice apunta a otro

ndice) .

5.5 Mecanismos de acceso a los archivos

Existen varios mecanismos para acceder los archivos: Directorios, descriptores de


archivos, mecanismos de control de acceso y procedimientos para abrir y cerrar
archivos.
Descriptores de archivos.
El descriptor de archivos o bloque de control de archivos es un bloque de control que
contiene informacin que el sistema necesita para administrar un archivo.
Es una estructura muy dependiente del sistema.
Puede incluir la siguiente informacin:

Nombre simblico del archivo.

Localizacin del archivo en el almacenamiento secundario.

Organizacin del archivo (mtodo de organizacin y acceso).

Tipo de dispositivo.

Datos de control de acceso.

Tipo (archivo de datos, programa objeto, programa fuente, etc.).

Disposicin (permanente contra temporal).

Fecha y tiempo de creacin.

Fecha de destruccin.

Fecha de la ltima modificacin.

Suma de las actividades de acceso (nmero de lecturas, por ejemplo).

Los descriptores de archivos suelen mantenerse en el almacenamiento secundario;


se pasan al almacenamiento primario al abrir el archivo.
El descriptor de archivos es controlado por el sistema de archivos ; el usuario puede
no hacer referencia directa a l.
A cada uno de los archivos se le asigna un descriptor el cual contendr toda la
informacin que necesitar el sistema de archivos para ejecutar con l los comandos
que se le soliciten. El descriptor se mantendr en memoria principal desde que el
archivo es abierto hasta que sea cerrado, y debe tener al menos la siguiente
informacin, identificacin del archivo, lugar de almacenamiento, informacin del
modo de acceso.
Identificacin del archivo. Consiste de dos partes que es el nombre simblico que es
el que le da el usuario y un identificador interno que es asignado por el sistema
operativo (nmero). Lugar de almacenamiento as como el tamao del archivo. Modo
de acceso. Se debe indicar en forma explcita quien puede accesar el archivo y
conque derecho.

Fig. 5.5.1 Ejemplo ilustrativo del control de acceso


Mecanismo de control de acceso.
Control de un sistema de informacin especializado en detectar los intectos de
acceso, permitiendo el paso de las entidades autorizadas, y denegando el paso a
todas las dems. Involucra medios tcnicos y procedimientos operativos.
Mecanismo que en funcin de la identificacin ya autenticada permite acceder a
datos o recursos.
Los Directorios son utilizados por el sistema operativo para llevar un registro de los
archivos que incluye el nombre, los atributos y las direcciones en disco donde se
almacenan los datos del archivo referenciado.
Open (abrir): antes de utilizar un archivo, un proceso debe abrirlo. La finalidad es
permitir que el sistema traslade los atributos y la lista de direcciones en disco a la
memoria principal para un rpido acceso en llamadas posteriores.
Close (cerrar): cuando concluyen los accesos, los atributos y direcciones del disco
ya no son necesarios, por lo que el archivo debe cerrarse y liberar la tabla de espacio
interno.

5.6 Manejo de espacio en memoria secundaria


A diferencia de la Memoria Principal la Memoria Secundaria, auxiliar, masiva, externa
no es tan veloz pero tiene gran capacidad para almacenar informacin en
dispositivos tales como discos, cintas magnticas, 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 travs del dispositivo de entrada.

Fig. 5.6.1 Ejemplos de Memoria Secundaria


En la Memoria Secundaria un archivo consta de un conjunto de bloques
(correspondiente a la cantidad de informacin que se transfiere fsicamente en cada
operacin de acceso (lectura o escritura).
El Sistema Operativo o Sistema de Gestin de Archivos es el encargado de la
asignacin 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.
El sistema de archivos se ocupa primordialmente de administrar el espacio de
almacenamiento secundario, sobre todo el espacio en disco. El manejo del espacio
libre en disco se lleva a cabo de la siguiente manera:

Vector de bits
Lista ligada (lista libre)
Por conteo (agrupacin)
Vector de bits. El espacio libre en disco es frecuentemente implementado como un
mapa de bits, donde cada block es representado por un bit y si el bloc es libre el bit
es cero de lo contrario est asignado.11000111

Lista ligada. Una lista ligada de todos los blocks libres. Otra implantacin se
consigue guardando la direccin del primer block libre y el nmero de los blocks
libres contiguos que le siguen. Cada entrada de la lista de espacio libre consiste de
una direccin de disco y un contador (por conteo).

Fig. 5.6.2 Lista de espacio libre enlazada en el disco.


Por agrupacin. Se almacena la direccin en n blocks libres en el primer block libre
y el ltimo contiene la direccin de otro block que contiene la direccin de otros
blocks libres.
Para manejar los espacios en disco existen los siguientes mtodos:
? Contiguos
? Ligados
? Indexados
? Contiguos. Esta asignacin requiere que cada archivo ocupe un conjunto de
direcciones contiguas en el disco, su asignacin es definida por la direccin del
primer bloc y la longitud del archivo.
Cuando se crea un archivo se le asigna un nico conjunto contiguo de bloques, esta
es un estrategia de asignacin previa que emplea secciones de tamao variable. La
tabla de asignacin de archivos necesita solo una entrada por cada archivo y que

muestre el bloque de comienzo y la longitud del archivo. La asignacin contigua es la


mejor para un archivo secuencial.
La asignacin contigua presenta algunos problemas, como la fragmentacin externa.
Lo que hace difcil encontrar bloques contiguos de espacio de tamao suficiente., lo
que lleva a ejecutar un algoritmo de compactacin para libera el espacio adicional en
el disco.
? Asignacin ligada o encadenada. Cada archivo es una lista ligada de blocks y el
directorio contiene un apuntador al primer bloc y al ltimo.
La asignacin se hace con bloques individuales, cada bloque contendr un puntero al
siguiente bloque de la cadena. La tabla de asignacin de archivos necesita una sola
entrada por cada archivo que muestre el bloque de comienzo y la longitud del
mismo, cualquier bloque puede aadirse a la cadena. No hay que preocuparse por la
fragmentacin externa porque solo se necesita un bloque cada vez.
Una consecuencia del encadenamiento es que no hay cabida para el principio de
cercana, 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 compactacin para liberar el espacio adicional en el disco.
? Asignacin Indexada. Cada archivo tiene su propio bloc de ndice el cual es un
arreglo de direcciones de bloc.
En esta asignacin la tabla de asignacin de archivos contiene un ndice separado de
un nivel para cada archivo: el ndice posee una entrada para cada seccin asignada
al archivo. Normalmente, los ndices no estn almacenados fsicamente como parte
de la tabla de asignacin de archivos. Ms exactamente el ndice de archivo se
guardara en un bloque aparte y la entrada del archivo en la entrada de asignacin
apuntara a dicho bloque.
La asignacin puede hacerse por bloques de tamao fijo, O en secciones de tamao
variable. La asignacin por bloques elimina la fragmentacin externa, mientras que
la asignacin por secciones de tamao variable mejora la cercana. En cualquier
caso, los archivos pueden concentrarse en zonas cercanas de cuando en cuando. La
concentracin reduce el tamao del ndice en el caso de secciones de tamao
variable, pero no en el caso de asignacin por bloques.
La asignacin indexada soporta tanto el acceso secuencial como el acceso directo a
los archivos y por ello se ha convertido en la forma ms popular de asignacin de
archivos.
En un sistema de cmputo, los elementos que se declaran para almacenamiento son
los FyleSystem. Cundo existe una solicitud de almacenamiento o manejo de bloc
libres en un file system surge una interrogante cmo atenderlas? esto se lleva a
cabo mediante una planificacin de discos y para esto existen las siguientes polticas
de planificacin.

a) FCFS
b) SSTF
c) SCAN
d) SCAN de n-pasos
e) C-SCAN
f) Esquema Eschenbach
5.7 Modelo jerrquico
Directorios
El directorio contiene un conjunto de datos por cada archivo referenciado.

Fig. 5.7.1 Ejemplo de directorio jerrquico


Una posibilidad es que el directorio contenga por cada archivo referenciado:

El nombre.

Sus atributos.

Las direcciones en disco donde se almacenan los datos.

Otra posibilidad es que cada entrada del directorio contenga:

El nombre del archivo.

Un apuntador a otra estructura de datos donde se encuentran los atributos y las,


direcciones en disco

Fig. 5.7.2 Representacin grfica de un directorio jerrquico.


Al abrir un archivo el S. O.:

Busca en su directorio el nombre del archivo.

Extrae los atributos y direcciones en disco.

Graba esta informacin en una tabla de memoria real.

Todas las referencias subsecuentes al archivo utilizarn la informacin de la


memoria principal.

El nmero y organizacin de directorios vara de sistema en sistema:

Directorio nico: el sistema tiene un solo directorio con todos los archivos de
todos los usuarios (ver Figura 5.7.3).

Un directorio por usuario: el sistema habilita un solo directorio por cada usuario
(ver Figura 5.7.4).

Un rbol de directorios por usuario: el sistema permite que cada usuario


tenga tantos directorios como necesite, respetando una jerarqua general (ver
Figura 5.7.5).

Fig. 5.7.3 Un solo directorio compartifo por todos los usuarios

Fig. 5.7.4 Un directorio por usuario

Fig. 5.7.5 Un rbol arbitrario por usuario


5.8 Mecanismo de recuperacin en caso de falla
Recuperacin
Los archivos y directorios se mantienen tanto en memoria principal como en disco, y
debe tener. Se cuidado para que los fallos del sistema no provoquen una prdida de
datos o una incoherencia en los mismos.
Comprobacin de coherencia.

Como hemos explicado en la Seccin 11.3, parte de la informacin de directorios se


almacena en la memoria principal (o en cach) para acelerar el acceso. La
informacin de directorios en11a memoria principal est, generalmente, ms
actualizada que la correspondiente informacin en el disco, porque la informacin de
directorios almacenada en cach no se escribe necesariamente en el disco nada ms
producirse la actualizacin.
Considere, entonces, el posible ejemplo de un fallo de la computadora. El contenido
de la cach y de los bferes, as como de las operaciones de E/S que se estuvieran
realizando en ese momento, pueden perderse, y con l se perdern los cambios
realizados en los directorios correspondientes a los archivos abiertos. Dicho suceso
puede dejar el sistema de archivos en un estado incoherente. El estado real de
algunos archivos no ser el que se describe en la estructura de directorios.
Con frecuencia, suele ejecutarse un programa especial durante el reinicio para
comprobar las posibles incoherencias del disco y corregidas.
El comprobador de coherencia (un programa del sistema tal como fsck en UNIX o
chkdsk en MS-DOS), compara los datos de la estructura de directorios con los
bloques de datos del disco y trata de corregir todas las incoherencias que detecte.
Los algoritmos de asignacin y de gestin del espacio libre dictan los tipos de
problemas que el comprobador puede tratar de detectar y dictan tambin el grado
de xito que el comprobador puede tener en esta tarea. Por ejemplo, si se utiliza un
sistema de asignacin enlazada y existe un enlace entre cada bloque y el siguiente,
puede reconstruirse el archivo completo a partir de los bloques de datos y volver a
crear la estructura de directorios. Por el contrario, la prdida de una entrada de
directorio en un sistema de asignacin indexada puede ser desastrosa, porque los
bloques de datos no tienen ningn conocimiento acerca de los dems bloques de
datos del archivo. Por esta razn, UNIX almacena en cach las entradas de directorio
para las lecturas, pero todas las escrituras de datos que provoquen algn cambio en
la asignacin de espacio o en algn otro tipo de metadato se realizan sncronamente,
antes de escribir los correspondientes bloques de datos. Por supuesto, tambin
pueden aparecer problemas si se interrumpe una escritura sncrona debido a un fallo
catastrfico.

Fig. 5.8.1 Errores


La prdida de la informacin es uno de los factores que se le debe de dar mayor
importancia, por la sencilla razn de que al perder informacin se puede perder lo
que no nos podemos imaginar en cuanto a la misma y ocasionar perdidas hasta
hablar de una gran cantidad de dinero. Para solucionar este o estos problemas todo

sistema operativo cuenta con al menos una herramienta de software que nos
permite recuperar informacin perdida hasta cierta medida, esto obedece de acuerdo
al dao causado o los daos. Si el sistema no cuenta con la herramienta necesaria,
deber adquirirse el software apropiado de algn fabricante especializado en el
ramo, por ejemplo Norton.
Es necesario proteger la informacin alojada en el sistema de archivos, efectuando
los resguardos correspondientes.
De esta manera se evitan las consecuencias generalmente catastrficas de la
prdida de los sistemas de archivos.
Las prdidas se pueden deber a problemas de hardware, software, hechos externos,
etc.
Manejo de un bloque defectuoso:
Se utilizan soluciones por hardware y por software.
La solucin en hardware:

Consiste en dedicar un sector del disco a la lista de bloques defectuosos.

Al inicializar el controlador por primera vez:


o Lee la lista de bloques defectuosos.
o Elige un bloque (o pista) de reserva para reemplazar los defectuosos.
o Registra la asociacin en la lista de bloques defectuosos.
o En lo sucesivo, las solicitudes del bloque defectuoso utilizarn el de
repuesto.

La solucin en software:

Requiere que el usuario o el sistema de archivos construyan un archivo con


todos los bloques defectuosos.

Se los elimina de la lista de bloques libres.

Se crea un archivo de bloques defectuosos:


o Esta constituido por los bloques defectuosos.
o No debe ser ledo ni escrito.
o No se debe intentar obtener copias de respaldo de este archivo.

Respaldos (copias de seguridad o de back-up):

Fig. 5.8.2 Es necesario realizar respaldos para asegurar informacin


Es muy importante respaldar los archivos con frecuencia.
Los discos magnticos fallan en ocasiones y es necesario tener cuidado para
garantizar que los datos perdidos debido a esos fallos no se pierdan para siempre.
Con este fin, pueden utilizarse programas del sistema para realizar una copia de
seguridad de los datos del disco en otro dispositivo de almacenamiento, como por
ejemplo un disquete, una cinta magntica, un disco ptico incluso otro disco duro. La
recuperacin de la prdida de un archivo individual o de un disco completo puede ser
entonces, simplemente, una cuestin de restaurar los datos a partir de la copia de
seguridad.
Los respaldos pueden consistir en efectuar copias completas del contenido de los
discos (flexibles o rgidos).
Una estrategia de respaldo consiste en dividir los discos en reas de datos y reas
de respaldo , utilizndolas de a pares:

Se desperdicia la mitad del almacenamiento de datos en disco para respaldo.

Cada noche (o en el momento que se establezca), la parte de datos de la


unidad 0 se copia a la parte de respaldo de la unidad 1 y viceversa.

Otra estrategia es el vaciado por incrementos o respaldo incremental :

Se obtiene una copia de respaldo peridicamente (por ej.: una vez por mes o
por semana), llamada copia total.

Se obtiene una copia diaria solo de aquellos archivos modificados desde la


ltima copia total; en estrategias mejoradas, se copian solo aquellos archivos
modificados desde la ltima vez que dichos archivos fueron copiados.

Se debe mantener en el disco informacin de control como una lista de los


tiempos de copiado de cada archivo, la que debe ser actualizada cada vez que
se obtienen copias de los archivos y cada vez que los archivos son modificados.

Puede requerir una gran cantidad de cintas de respaldo dedicadas a los


respaldos diarios entre respaldos completos.

Para minimizar la cantidad de datos que haya que copiar, podemos utilizar la
informacin contenida en la entrada de directorio de cada archivo. Por ejemplo, si el
programa de copia de seguridad sabe cundo se realiz la ltima copia de seguridad
de un archivo y la fecha de ltima modificacin del archivo contenida en el directorio
indica que el archivo no ha cambiado desde esa fecha, no ser necesario volver a
copiar el archivo. As un plan tpico de copia de seguridad podra ser el siguiente:
Da 1. Copiar en el soporte de copia de seguridad todos los archivos del disco. Esto
se denomina copia de seguridad completa.
Da 2. Copiar en otro soporte fsico todos los archivos que se hayan modificado
desde el da 1. Esta es una copia de seguridad incremental.
Da 3. Copiar en otro soporte fsico todos los archivos que se hayan modificado
desde el da 2.
Da N. Copiar en otro soporte fsico todos los archivos que se hayan modificado
desde el da N - 1. Despus, volver al da 1.
Podemos escribir las copias de seguridad correspondientes al nuevo ciclo sobre el
conjunto anterior de soportes fsicos o en un nuevo conjunto de soportes de copia de
seguridad. De esta forma, podemos restaurar un disco completo comenzando la
restauracin con la copia de seguridad completa y continuando con cada una de las
copias de seguridad incrementales. Por supuesto, cuanto mayor sea el valor de N,
ms cintas o discos habr que leer para efectuar una restauracin completa. Una
ventaja adicional de este ciclo de copia de seguridad es que podemos restaurar
cualquier archivo que haya sido borrado accidentalmente durante ese ciclo,
extrayendo el archivo borrado de la copia de seguridad del da anterior. La longitud
del ciclo ser un compromiso entre la cantidad de soportes fsicos de copia de
seguridad requeridos y el nmero de das pasados a partir de los cuales podamos
realizar una restauracin. Para reducir el nmero de cintas que haya que leer para
efectuar una restauracin, una opcin consiste en realizar una copia de seguridad
completa y luego copiar cada da todos los archivos que hayan cambiado desde la
ltima copia de seguridad completa. De esta forma, puede realizarse la restauracin
utilizando slo la copia de seguridad incremental ms reciente y la copia de
seguridad completa, no necesitndose ninguna otra copia de seguridad incremental.
El compromiso inherente a este sistema es que el nmero de archivos modificado se
incrementa a diario, por lo que cada copia de seguridad incremental sucesiva
contiene ms archivos y requiere ms espacio en el soporte de copia de seguridad.
Consistencia del sistema de archivos:
Muchos sistemas de archivos leen bloques, los modifican y escriben en ellos
despus.
Si el sistema falla antes de escribir en los bloques modificados, el sistema de
archivos puede quedar en un estado inconsistente.
La inconsistencia es particularmente crtica si alguno de los bloques afectados son:

Bloques de nodos-i.

Bloques de directorios.

Bloques de la lista de bloques libres.

La mayora de los sistemas dispone de un programa utilitario que verifica


la consistencia del sistema de archivos:

Se pueden ejecutar al arrancar el sistema o a pedido.

Pueden actuar sobre todos o algunos de los discos.

Pueden efectuar verificaciones a nivel de bloques y a nivel de archivos.

La consistencia del sistema de archivos no asegura la consistencia interna de


cada archivo, respecto de su contenido.

Generalmente pueden verificar tambin el sistema de directorios y / o de


bibliotecas.

Generalmente los utilitarios utilizan dos tablas:

Tabla de bloques en uso.

Tabla de bloques libres.

Cada bloque debe estar referenciado en una de ellas.

Si un bloque no aparece en ninguna de las tablas se trata de una falla


llamada bloque faltante:

No produce daos pero desperdicia espacio en disco.

Se soluciona aadiendo el bloque a la tabla de bloques libres.

Tambin podra detectarse la situacin de falla debida a un bloque referenciado dos


veces en la tabla de bloques libres:

Esta falla no se produce en los sistemas de archivos basados en mapas de bits,


s en los basados en tablas o listas.

La solucin consiste en depurar la tabla de bloques libres.

Una falla muy grave es que el mismo bloque de datos aparezca referenciado dos o
ms veces en la tabla de bloques en uso:

Como parte del mismo o de distintos archivos.

Si uno de los archivos se borra, el bloque aparecera en la tabla de bloques


libres y tambin en la de bloques en uso.

Una solucin es que el verificador del sistema de archivos:


o Asigne un bloque libre.
o Copie en el bloque libre el contenido del bloque conflictivo.
o Actualice las tablas afectando el bloque copia a alguno de los archivos.
o Agregue el bloque conflictivo a la tabla de bloques libres.
o Informe al usuario para que verifique el dao detectado y la solucin
dada.

Otro error posible es que un bloque est en la tabla de bloques en uso y en la tabla
de bloques libres:

Se soluciona eliminndolo de la tabla de bloques libres.

Las verificaciones de directorios incluyen controles como:

Nmero de directorios que apuntan a un nodo-i con los contadores de enlaces


almacenados en los propios nodos-i; en un sistema consistente de archivos
deben coincidir.

Una posible falla es que el contador de enlaces sea mayor que el nmero de
entradas del directorio:

Aunque se eliminaran todos los archivos de los directorios el contador sera


distinto de cero y no se podra eliminar el nodo-i.

No se trata de un error serio pero produce desperdicio de espacio en disco con


archivos que no se encuentran en ningn directorio.

Se soluciona haciendo que el contador de enlaces en el nodo-i tome el valor


correcto; si el valor correcto es 0, el archivo debe eliminarse.

Otro tipo de error es potencialmente catastrfico:

Si dos entradas de un directorio se enlazan a un archivo, pero el nodo-i indica


que solo existe un enlace, entonces, al eliminar cualquiera de estas entradas
de directorio, el contador del nodo-i tomar el valor 0.

Debido al valor 0 el sistema de archivos lo seala como no utilizado y libera


todos sus bloques.

Uno de los directorios apunta hacia un nodo-i no utilizado, cuyos bloques se


podran asignar entonces a otros archivos.

La solucin es forzar que el contador de enlaces del nodo-i sea igual al nmero
de entradas del directorio.

Tambin se pueden hacer verificaciones heursticas , por ej.:

Cada nodo-i tiene un modo, pero algunos modos son vlidos aunque extraos:
o Ej.: Se prohibe el acceso al propietario y todo su grupo, pero se permite a
los extraos leer, escribir y ejecutar el archivo.
o La verificacin debera detectar e informar de estas situaciones.

Se debera informar como sospechosos aquellos directorios con excesivas entradas,


por ej., ms de mil.