Registro de los bloques libres

Se utilizan por lo general dos métodos:

1. La lista de bloques libres como lista ligada.
2. Un mapa de bits.

Lista ligada de bloques de disco:

– Cada bloque contiene tantos números de bloques libres como pueda.
– Los bloques libres se utilizan para contener a la lista de bloques libres.

Mapa de bits:

Un disco con “ n ” bloques necesita un mapa de bits con “ n ” bits.

Los bloques libres se representa con “1” y los asignados con “ 0 ” (o viceversa).

Generalmente este método es preferible cuando existe espacio suficiente en la memoria principal para contener completo el mapa de bits.

Disk quotas
Para evitar que los usuarios se apropien de un espacio excesivo en disco, los sistemas operativos multiusuario proporcionan generalmente un mecanismo para establecer las cuotas en el disco.

La idea es que:

Un administrador del sistema asigne a cada usuario una proporción máxima de archivos y bloques.

El sistema operativo garantice que los usuarios no excedan sus cuotas.

Un mecanismo utilizado es el siguiente:

Cuando un usuario abre un archivo:

‘ Se localizan los atributos y direcciones en disco.
‘ Se colocan en una tabla de archivos abiertos en la memoria principal.
‘ Uno de los atributos indica el propietario del archivo; cualquier aumento del tamaño del archivo se carga a la cuota del propietario.
‘ Una segunda tabla contiene el registro de las cuotas para cada uno de los usuarios que tengan un archivo abierto en ese momento, aún cuando el archivo lo haya abierto otro usuario.

Cuando se escribe una nueva entrada en la tabla de archivos abiertos:

‘ ‘Se introduce un apuntador al registro de la cuota del propietario para localizar los límites.
Cuando se añade un bloque a un archivo:
‘ Se incrementa el total de bloques cargados al propietario.
‘ Se verifica este valor contra los límites estricto y flexible (el primero no se puede superar, el segundo sí).
‘ También se verifica el número de archivos.

Fuente: Apuntes de la materia Sistemas Operativos Multiusuario de la FCA – UNAM