Documento 0

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 4

354 Capítulo 10 Interfaz del sistema de archivos

cuitad es la de evitar que aparezcan ciclos a medida que se añaden nuevos enlaces a la estructu-1
ra. ¿Cómo podemos saber si un nuevo enlace va a completar el ciclo? Existen algoritmos para'
detectar la existencia de ciclos en los grafos; sin embargo, estos algoritmos son muy costoso#
desde el punto de vista computacional, especialmente cuando el grafo se encuentra almacenado*
en disco. Un algoritmo más simple en el caso especial de directorios y enlaces consiste en ignorar?
• los enlaces durante el recorrido de los directorios. De este modo, se evitan los ciclos sin necesidad!
de efectuar ningún procesamiento adicional. <

10.4 Montaje de sistem as de archivos


De la misma forma que un archivo debe abrirse antes de utilizarlo, un sistema de archivos debe
montarse para poder estar disponible para los procesos del sistema. Más específicamente, la estruc­
tura de directorios puede estar formada por múltiples volúmenes, que puede montarse para hacer,
que estén disponibles dentro del espacio de nombres del sistema de archivos.
El proceso de montaje es bastante simple. Al sistema operativo se le proporciona el nombre de:
dispositivo y el punto de montaje que es la ubicación dentro de la estructura de archivos a la que*
hay que conectar el sistema de archivos que se está montando. Normalmente, el punto de monta-'
je será un directorio vacío. Por ejemplo, en un sistema UNIX, un sistema de archivos que conten­
ga los directorios principales de un usuario puede montarse como / home; después, para acceder ■
a la estructura de directorios contenida en ese sistema de archivos, podemos anteponer a los nom­
bres de directorio el nombre ¡home, como por ejemplo en /home/jane. Si montáramos ese sistema;
de archivos bajo el directorio /users obtendríamos el nombre de ruta /users/jane, que podríamos
utilizar para acceder al mismo directorio.
A continuación, el sistema operativo verifica que el dispositivo contiene un sistema de archi-,
vos válido. Para ello, pide al controlador del dispositivo que lea el directorio de dispositivo y veri­
fique que ese directorio tiene el formato esperado. Finalmente, el sistema operativo registra en su
estructura de directorios que hay un sistema de archivo montado en el punto de montaje especi­
ficado. Este esquema permite al sistema operativo recorrer su estructura de directorios, pasando
de un sistema de archivos a otro según sea necesario.
Para ilustrar el montaje de archivos, considere el sistema de archivos mostrado en la Figura
10 .1 2 , donde los triángulos representan subárboles de directorios en los que estamos interesados.
La Figura 10.12(a) muestra un sistema de archivos existente, mientras que la Figura 10.12(b) mues­
tra un volumen no montado que reside en / device/ dsk. En este punto, sólo puede accederse a los
archivos del sistema de archivos existente. La Figura 10.13 muestra los efectos de mostrar en

Figura 10.12 Sistema de archivos, (a) Sistema existente, (b) Volumen no montado:-
10.5 Compartición de archivos 355

Figura 10.13 Punto de montaje.


/ users el volumen que reside en / device/ dsk. Si se desmonta el volumen, el sistema de archivos
vuelve a la situación mostrada en la Figura 10.12.
Los sistemas imponen una cierta semántica para clarificar la funcionalidad. Por ejemplo, un
determinado sistema podría prohibir que se realizara un montaje en un directorio que contuviera
archivos, o bien podría hacer que el sistema de archivos montado estuviera disponible en dichos
directorios y ocultar los archivos existentes en dicho directorio hasta qué el sistema de archivos se
desmontara, en cuyo momento se prohíbe el uso de ese sistema de archivos y se permite el acceso
a los archivos originales contenidos en el directorio. Otro ejemplo, un determinado sistema podría
permitir que se montara repetidamente el mismo sistema de archivos, en diferentes puntos de
montaje; o, por el contrario, podría permitir un único montaje por cada sistema de archivos.
Consideremos el ejemplo del sistema operativo Macintosh. Cuando el sistema encuentra un
disco por primera vez (los discos duros se localizan en el momento de iniciar el sistema, mientras
que los disquetes se detectan cuando se insertan en la unidad), el sistema operativo Macintosh
busca un sistema de archivos en el dispositivo. Sí encuentra uno, monta automáticamente el sis­
tema de archivos en el nivel raíz, añadiendo a la pantalla un icono de carpeta cuya etiqueta coin­
cide con el nombre del sistema de archivos (tal como esté almacenado en el directorio del
dispositivo). El usuario podrá entonces hacer clic sobre el icono y mostrar el sistema de archivos
recién montado.
La familia Microsoft Windows de sistemas operativos (95, 98, NT, 2000, XP) mantiene una es­
tructura ampliada de directorio en dos niveles, en la que a los dispositivos en los volúmenes se les
asignan letras de unidad. Los volúmenes tienen una estructura de directorio en forma de grafo
general asociada con la letra de la unidad. La ruta para un archivo específico toma la forma letra-
unidad: \ruta\al\archivo. Las versiones más recientes de Windows permiten montar un sistema de
archivos en cualquier punto del árbol de directorios, al igual que en UNIX. Los sistemas operativos
Windows descubren automáticamente todos los dispositivos y montan todos los sistemas de archi­
vo localizados en el momento de iniciar el sistema. En algunos sistemas, como UNIX, los co­
mandos de montaje son explícitos. Un determinado archivo de configuración del sistema contiene
una lista de los dispositivos y puntos de montaje para realizar el montaje automático en el momen­
to de iniciar el sistema, pero pueden ejecutarse otras operaciones de montaje manualmente.
Los temas relativos al montaje de sistema de archivos se analizan con más profundidad en la
Sección 11.2.2 y en el Apéndice A.7.5.

10.5 Compartición de archivos


En las secciones anteriores, hemos explorado los motivos que existen para compartir archivos y
algunas de las dificultades que surgen al permitir a los usuarios compartir archivos. Dicha com-
10.6 Protección 361

.6 Protección
Cuando se almacena información en un sistema informático, necesitamos protegerla frente a los
daños físicos (fiabilidad) y frente a los accesos incorrectos (protección).
La fiabilidad se proporciona; generalmente, mediante copias duplicadas de los archivos.
Muchas computadoras tienen programas del sistema que copian automáticamente (o mediante la
intervención del operador) los archivos del disco en una cinta a intervalos regulares (una vez al
día, o a la semana o al mes), para mantener una copia por si acaso resultara destruido accidental­
mente el sistema de archivos. Los sistemas de archivos pueden verse dañados por problemas de
hardware (como por ejemplo errores en la lectura o escritura), sobretensiones o caídas de tensión,
aterrizajes de cabezales del disco, suciedad, temperaturas extremas y vandalismo. Los archivos
también pueden borrarse accidentalmente y los errores en el software del sistema de archivos
también pueden provocar la pérdida del contenido de un archivo. La cuestión de la fiabilidad se
cubre con mayor detalle en el Capítulo 12.
Podemos proporcionar protección de varias formas. Para un pequeño sistema monousuario,
podemos proporcionar protección extrayendo físicamente los disquetes y guardándolos bajo llave
en un cajón o en un archivador. En los sistemas multiusuario, sin embargo, se necesita utilizar
otros mecanismos.

10.6.1 Tipos de acceso


La necesidad de proteger los archivos es consecuencia directa de la posibilidad de acceder a esos
archivos. Los sistemas que no permiten el acceso a los sistemas de otros usuarios no necesitan nin­
guna protección. Así, podríamos proporcionar una protección completa simplemente prohibien­
do el acceso. Alternativamente, podríamos proporcionar un acceso libre sin ninguna protección.
Ambas técnicas son demasiado extremas para poder utilizarlas de forma general; lo que necesita­
mos, en su lugar, es un acceso controlado.
Los mecanismos de protección proporcionan un acceso controlado limitando los tipos de acce­
sos a archivo que puedan realizarse. El acceso se permite o se deniega dependiendo de varios fac­
tores, uno de los cuales es el tipo dé acceso solicitado. Podemos controlar varios tipos de
operaciones diferentes:
• Lectura. Lectura del archivo.
• Escritura. Escritura o reescritura del archivo.
• Ejecución. Carga del archivo en memoria y ejecución del mismo.
• Adición. Escritura de nueva información al final del archivo.
• Borrado. Borrado del archivo y liberación del espacio para su posible reutilización.
• Listado. Listado del nombre y atributos del archivo.
Otras operaciones, como el renombrado, el copiado y la edición del archivo también pueden
controlarse. Sin embargo, para muchos sistemas, estas funciones de mayor nivel pueden imple­
mentarse mediante un programa del sistema que realice llamadas al sistema de menor nivel y la
protección se proporciona únicamente en ese nivel inferior. Por ejemplo, la copia de un archivo
puede implementarse simplemente mediante una secuencia de solicitudes de lectura. En este caso,
un usuario con acceso de lectura también podrá copiar el archivo, imprimirlo, etc.
Se han propuesto muchos mecanismos de protección y cada uno tiene sus ventajas y desven­
tajas y es preciso valorar si resulta apropiado para cada aplicación en cuestión. Un pequeño siste­
ma informático que sólo sea utilizado por un pequeño grupo de miembros de un departamento
de investigación, por ejemplo, puede no necesitar los mismos tipos de protección que una gran
computadora corporativa que se utilice para investigación, finanzas y gestión de personal.
Hablaremos de algunas de las técnicas de protección en las siguientes secciones y presentaremos
un tratamiento más completo en el Capítulo 14.
362 Capítulo 10 Interfaz del sistema de archivos

10.6.2 Control de acceso


La técnica más común para resolver el problema de la protección consiste en hacer que el acceso ‘
dependa de la identidad del usuario. Los diferentes usuarios pueden necesitar diferentes tipos de?
acceso a un archivo o directorio. El esquema más general para implementar un acceso dependien-5
te de la identidad consiste en asociar con cada archivo y directorio una lista de control de acceso’
(ACL, access-control list) que especifique los nombres de usuario y los tipos de acceso que se per­
miten para cada uno. Cuando un usuario solicita acceder a un archivo concreto, el sistema opera-'»
tivo comprueba la lista de acceso asociada con dicho archivo; si dicho usuario está incluido en la ^
lista para el tipo de acceso solicitado, se permite el acceso. En caso contrario, se producirá una vio- i
lación de la protección y se denegará al trabajo de usuario el acceso al archivo.
Esta técnica tiene la ventaja de permitir la implementación de complejas metodologías de acce­
so. El problema principal con las listas de acceso es su longitud. Si queremos permitir que todo el ‘
mundo lea un archivo, deberemos enumerar todos los usuarios que disponen de ese acceso de lec­
tura. Esta técnica tiene dos consecuencias poco deseables:
• Construir dicha lista puede ser una tarea tediosa y poco gratificante, especialmente si no
sabemos de antemano la lista de usuarios del sistema.
• La entrada de directorio, que anteriormente tenía un tamaño fijo, ahora tendrá que ser de
tamaño variable, lo que requiere mecanismos más complejos de gestión del espacio.
Ssá
Estos problemas pueden resolverse utilizando una versión condensada de la lista de acceso.
Para condensar la longitud de la lista de control de acceso, muchos sistemas clasifican a los >
usuarios en tres grupos, en lo que respecta con cada archivo:
• Propietario. El usuario que creó el archivo será su propietario.
• G rupo. Un conjunto de usuarios que están compartiendo el archivo y necesitan un acceso ¿
similar al mismo es un grupo, o grupo de trabajo.
• U niverso. Todos los demás usuarios del sistema constituyen el universo.
La técnica reciente más común consiste en combinar las listas de control de acceso con el esque­
ma más general (y más fácil de implementar) de control de acceso que acabamos de describir,
compuesto por los conceptos de propietario, grupo y universo. Por ejemplo, Solaris 2.6 y las ver­
siones posteriores utilizan estas tres categorías de acceso de manera predeterminada, pero permi­
ten añadir listas de control de acceso a archivos y directorios específicos, cuando se desee disponer
de un control de acceso de granularidad más fina.
Como ilustración, considere una persona, Sara, que esté escribiendo un nuevo libro. Sara ha
contratado a tres estudiantes (Jaime, David y Julia) para que la ayuden con el proyecto. El texto
del libro se almacena en un archivo denominado book. La protección asociada con este archivo será
la siguiente:
• Sara debe poder invocar todas las operaciones sobre el archivo.
• Jaime, David y Julia sólo deben poder leer y escribir el archivo; no se les debe permitir
borrar el archivo.
• Todos los demás usuarios deben poder leer, pero no escribir, el archivo (Sara está interesa­
da en dejar que el texto sea leído por el mayor número de personas posible, para poder reci-
. bir sugerencias).
Para conseguir dicha protección, debemos crear un nuevo grupo (por ejemplo, text) cuyos
miembros serán Jaime, David y Julia. El nombre del grupo, text, deberá entonces asociarse con el
archivo book y los derechos de acceso deberán configurarse de acuerdo con la política que hemos
esbozado anteriormente.
Ahora considere el caso de un visitante al que Sara quisiera conceder un acceso temporal al
Capítulo 1. El visitante no puede ser añadido al grupo text porque eso le daría acceso a todos los
capítulos. Asimismo, como cada archivo sólo puede estar eñ un grupo, no podemos añadir otro

También podría gustarte