• No se han encontrado resultados

Asignación de espacio indexada

In document Sistemas Operativos Flynn Mchoes (página 194-198)

ADMINISTRACIÓN DE RECURSOS

Gráfica 84. Asignación de espacio indexada

Esta técnica es llamada asignación mediante una lista ligada y un índice, que intenta eliminar los defectos de la anterior. En esta técnica se crea una tabla con un registro por cada uno de los bloques del disco, en cada registro se indica si dicho bloque esta libre (null) o cuál es la dirección del siguiente bloque ( en caso de que ese bloque pertenezca a un determinado archivo) De esta forma, en el directorio se asocia con el nombre del archivo el número del bloque en el que comienza dicho archivo; con este dato y, mediante la tabla, se puede averiguar la dirección de todos los bloques que componen dichos archivos simplemente siguiendo la lista ligada.

Con esta organización, todo el bloque estará disponible para los datos. Además, el acceso a un determinado bloque es mucho más rápido, ya que aunque también haya que seguir la cadena de bloques como en la asignación en forma de lista ligada, al estar la tabla en memoria, estas consultas son mucho más rápidas y no es necesario acceder al disco.

Soporta acceso directo sin ser afectada por fragmentación externa

Se gasta espacio. El overhead que impone el bloque de punteros es superior al espacio perdido en punteros en una asignación enlazada.

El sistema operativo UNIX tiene un esquema indexado en el cual la información de un archivo se almacena en una estructura llamada inodo.

Número de Bloque Dirección siguiente bloque 0 1 13 2 3 3 7 4 0 5 6 2 7 1 8 9 10 11 11 n-2 12 13 0 . . n-2 4 n-1

Tabla de registros de asignación continua de bloques

La desventaja que tiene este método es que toda la tabla de registros deberá estar en la memoria principal permanentemente, con lo que la memoria consumida para almacenar la tabla no estará disponible para ser usada por otros procesos. Esto llega a ser un gran problema en el supuesto de discos con un gran número de bloques, ya que en la tabla de registros puede llegar ocupar gran parte de la memoria principal del ordenador o incluso desbordarla.

Esta es la técnica utilizada por el MS-DOS y por Windows. En este caso a la tabla de registros se denomina FAT (File Allocation Table) y se puede encontrar en sus dos versiones: FAT16 y FAT32, dependiendo de si los bloques se direccionan con 16 o con 32 bits respectivamente.

Ejemplo: Ejemplo de funcionamiento de lectura de un fichero en MS-DOS.

Supongamos que un usuario solicita leer el fichero prueba.txt. En este caso, el sistema operativo leerá el directorio activo (y que se trata de una ruta relativa) en busca de la entrada correspondiente a dicho archivo. Si éste existe, se hallará un registro con cierta información relativa a dicho archivo (como son los atributos del archivo y, también, el bloque del disco en el que el archivo comienza). Con dicha información busca en la FAT, que se encuentra en la memoria principal, el registro perteneciente a ese bloque y en él se encontrará la dirección del siguiente bloque en el que el archivo esta escrito. Repitiendop esta operación hasta en la dirección del siguiente bloque sea 0 obtenemos la lista completa de bloques en los que el archivo está almacenado.

En la tabla, se puede ver que el archivo que comienza en el bloque No. 6, continuará en los bloques: 2, 3, 7, 1 y 13.

El lector también podrá ver que los bloques 0, 5, 8, 9, 12 y n-1 están libres y hay otro fichero almacenado en los bloques 10, 11, n-2 y 4.

Por último, los sistemas operativos como UNIX y Linux utilizan un sistema de archivos basados en i-nodos. En esta técnica se asocia a cada archivo una pequeña tabla, llamada i-nodo, que contiene los atributos y direcciones en disco de los bloques del archivo.

Atributos

Dirección del bloque 1 Dirección del bloque 2 Dirección del bloque 3 Dirección del bloque 4

. . .

Dirección del bloque n

I-nodo de UNIX

Las últimas entradas del i-nodo se reservan para cuando el archivo ocupa más bloques de los que el i-nodo es capaz de almacenar y pueden contener la dirección de otro bloque en el que se guardan las demás direcciones de los bloques del archivo. A este bloque se le llama bloque indirecto. En este caso de que con este bloque extra no haya suficiente espacio para guardar todas las direcciones de los bloques del archivo, existe la posibilidad de utilizar un bloque doblemente indirecto e, incluso, un tercer bloque triplemente indirecto.

Cuando UNIX abre un archivo, lo primero que hace es cargar en memoria su i- nodo correspondiente para que el proceso sea lo más rápido posible.

4.7 Tipos de sistemas de archivo

Como se dijo anteriormente, existen distintos tipos de sistemas de de archivos, siendo los siguientes los más utilizados para el entorno monousuario y multiusuario.

¾ FAT16. Se puede acceder a este sistema de archivos desde MS-DOS, Windows 95, Windows 98, Windows NT, Windows 2000, Windows XP y Windows Server 2003. Permite trabajar con particiones de hasta 2 GB, las unidades de asignación de 32 KB, el tamaño máximo de un archivo es de 2 GB, los volúmenes pueden llegar hasta 2 GB, no distingue entre mayúsculas y minúsculas en los nombres de archivos y no soporta dominios.

¾ FAT32. Se puede acceder a este sistema de archivos desde Windows 95 OSR2, Windows 98, Windows 2000, Windows XP y Windows Server 2003.

Permite trabajar con particiones mayors de 2 GB, las unidades de asignación son de 4 KB, el tamaño máximo de un archivo es de 4 GB, los volúmenes pueden llegar hasta 2TB (en Windows 200/XP/2003 solo hasta 32 GB), no distingue entre mayúsculas y minúsculas en los nombres de archivo y no soporta dominios.

¾ NTFS 4 (NT File System 4). Es el sistema desarrollado para Windows NT 4 que permite nombres de archivo de hasta doscientos cincuenta y seis caracteres, ordenación de directorios, atributos de acceso a archivos, reparto de unidades en varios discos duros, reflexión de discos duros y registro de actividades, distingue entre mayúsculas y minúsculas en los nombres de archivo y soporta dominios de Windows NT.

¾ NTFS 5 (NT File System 5). En Windows 2000 Server se incluyeron mejoras que permitirán utilizar el Directorio Activo, dominios de Windows 2000/2003, cuotas en disco para cada usuario, cifrado y comprensión de archivos, alamacenamiento remoto, una herramienta de desfragmentación y utilización de enlaces de archivos similares a los realizados en UNIX. Sus volúmenes pueden llegar hasta 16 TB menos 64 KB y el tamaño másimo de un archivo sólo está limitado por el tamaño del volumen. Distingue entre mayúsculas y minúsculas en los nombres de archivos.

¾ Sistema de Ficheros Extendidos 2 (ext2fs). Es uno de los más eficientes y flexibles sistemas de archivos. Se puede acceder desde UNIX/LINUX, permite hasta 256 caracteres en los nombres de los ficheros, el tamaño del máximo del sistema de archivos es de 4 Terabytes y el tamaño máximo de un archivo es de 2GB. Distingue entre mayúsculas y minúsculas en los nombres de archivo.

¾ Servicios de almacenamiento de Novell (NSS). Es el más reciente sistema de archivos propietarios de Novell que se ejecuta desde NetWare 5 y NetWare 6. Permite hasta 8 billones de archivos por servidor pudiendo haber un millón de archivos abiertos simultáneamente, el tamaño del bloque se adapta automáticamente en función del tamaño del volumen, el volumen máximo de un archivo y de un volumen es de 8 TB, y puede haber hasta 255 volúmenes montados en un servidor.

¾ HPFS (High Perfomance File System). Se puede acceder desde OS/2 y se creó para resolver todos los problemas del sistema de archivos FAT. Utilizan un tamaño de sector de 512 bytes y pueden tener un tamaño máximo de 2 GB.

4.8 Mecanismos de protección de los ficheros

Dentro de los mecanismos de protección de la información contenida en los ficheros se encuentran los siguientes:

¾ Las unidades RAID ¾ Los permisos de acceso ¾ Las copias de seguridad

4.8.1 Las unidades Raid

El término RAID significa Redundant Array of Independent Disk (Matriz

Redundante de Discos Independeintes)

La filosofía de esta tecnología consiste en disponer de varias unidades de disco, conectadas entre sí, por medio de controladoras, software o combinación de ambas; de manera que cuando una unidad física de disco falle o se venga abajo, los datos que se encontrarán en dicha unidad no se pierdan sino que se reconstruyan usando la paridad de los mismos (el sistema operativo ve a la matriz como si ésta fuese una sola).

Las configuraciones definidas en RAID son las siguientes:

In document Sistemas Operativos Flynn Mchoes (página 194-198)