Sistemas de Archivos

  1. Introducción
  2. Funciones del Sistema de Archivos
  3. El Sistema de Archivos
  4. Archivos
    1. Nombre de los Archivos
    2. Estructura de un Archivo
    3. Tipos de Archivos
    4. Acceso a un Archivo
    5. Atributos de Archivo
    6. Operaciones con Archivos
    7. Archivos Mapeados a Memoria
  5. Directorios
    1. Sistemas Jerárquicos de Directorios
    2. Nombre de las Rutas de Acceso
    3. Operaciones con Directorios
  6. Implantación del Sistema de Archivos y sus Relaciones con la Asignación y Liberación de Espacio
    1. Implantación de Archivos
    2. Implantación de Directorios
    3. Archivos Compartidos
    4. Administración del Espacio en Disco
    5. Confiabilidad del Sistema de Archivos
    6. Desempeño del Sistema de Archivos
  7. Descriptor de Archivos
  8. Seguridad
    1. El Ambiente de Seguridad
    2. Virus
    3. Principios del Diseño Para la Seguridad
    4. Autentificación del Usuario
    5. Contraseñas
    6. Identificación Física
    7. Medidas Preventivas
  9. Mecanismos de Protección
    1. Dominios de Protección
    2. Listas Para Control de Acceso
    3. Posibilidades
    4. Modelos de Protección
    5. Control de Acceso Por Clases de Usuarios
  10. Respaldo y Recuperación
  11. Fin


Introducción

Todas las aplicaciones computarizadas necesitan almacenar y recuperar la información [7, Deitel]:

Las condiciones esenciales para el almacenamiento de la información a largo plazo son: La solución es el almacenamiento de la información en discos y otros medios externos en unidades llamadas archivos: El “Sistema de Archivos” es la parte del sistema de administración del almacenamiento responsable, principalmente, de la administración de los archivos del almacenamiento secundario.

Es la parte del S. O. responsable de permitir “compartir controladamente” la información de los archivos.

Inicio:   Fin:

Funciones del Sistema de Archivos

Los usuarios deben poder crear, modificar y borrar archivos.

Se deben poder compartir los archivos de una manera cuidadosamente controlada [7, Deitel].

El mecanismo encargado de compartir los archivos debe proporcionar varios tipos de acceso controlado:

Se debe poder estructurar los archivos de la manera más apropiada a cada aplicación.

Los usuarios deben poder ordenar la transferencia de información entre archivos.

Se deben proporcionar posibilidades de “respaldo” y “recuperación” para prevenirse contra:

Se debe poder referenciar a los archivos mediante “Nombres Simbólicos”, brindando “Independencia de Dispositivos”.

En ambientes sensibles, el sistema de archivos debe proporcionar posibilidades de “Cifrado” y “Descifrado”.

El sistema de archivos debe brindar una interfase favorable al usuario:

Inicio:   Fin:

El Sistema de Archivos

Un “Archivo” es un conjunto de registros relacionados [23, Tanenbaum].

El “Sistema de Archivos” es un componente importante de un S. O. y suele contener [7, Deitel]:

El sistema de archivos está relacionado especialmente con la administración del espacio de almacenamiento secundario, fundamentalmente con el almacenamiento de disco.

Una forma de organización de un sistema de archivos puede ser la siguiente:

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 “jerárquicos” el nombre del sistema para un archivo suele estar formado como el “nombre de la trayectoria” del directorio raíz al archivo.

Inicio:   Fin:

Archivos

Se considerará el punto de vista del usuario.

Nombre de los Archivos

Las reglas exactas para los nombres de archivos varían de sistema a sistema [23, Tanenbaum].

Algunos sistemas de archivos distinguen entre las letras mayúsculas y minúsculas, mientras que otros no.

Muchos S. O. utilizan nombres de archivo con dos partes, separadas por un punto:

Inicio:   Fin:

Estructura de un Archivo

Los archivos se pueden estructurar de varias maneras, las más comunes son [23, Tanenbaum]:

Inicio:   Fin:

Tipos de Archivos

Muchos S. O. soportan varios tipos de archivos, por ej.: archivos regulares, directorios, archivos especiales de caracteres, archivos especiales de bloques, etc., donde [23, Tanenbaum]:

Inicio:   Fin:

Acceso a un Archivo

Los tipos de acceso más conocidos son:

Inicio:   Fin:

Atributos de Archivo

Cada archivo tiene:

Algunos de los posibles atributos de archivo son [23, Tanenbaum]: Inicio:   Fin:

Operaciones con Archivos

Las llamadas más comunes al sistema relacionadas con los archivos son [23, Tanenbaum]:

Inicio:   Fin:

Archivos Mapeados a Memoria

Algunos S. O. permiten asociar los archivos con un espacio de direcciones de un proceso en ejecución [23, Tanenbaum].

Se utilizan las llamadas al sistema “map” y “unmap”:

El mapeo de archivos elimina la necesidad de programar la e / s directamente, facilitando la programación.

Los principales problemas relacionados son:

Inicio:   Fin:

Directorios

Generalmente son utilizados por los S. O. para llevar un registro de los archivos [23, Tanenbaum].

En muchos sistemas son a su vez también archivos.

Sistemas Jerárquicos de Directorios

El directorio contiene un conjunto de datos por cada archivo referenciado.

Una posibilidad es que el directorio contenga por cada archivo referenciado [7, Deitel]:

Otra posibilidad es que cada entrada del directorio contenga: Al abrir un archivo el S. O.: El número y organización de directorios varía de sistema en sistema:


Un solo directorio compartido por todos los usuarios.

Un directorio por usuario.

Un árbol arbitrario por usuario.

Inicio:   Fin:

Nombre de las Rutas de Acceso

Cuando el sistema de archivos está organizado como un árbol de directorios se necesita una forma de determinar los nombres de los archivos.

Los principales métodos para nombres de los archivos son [23, Tanenbaum]:

Inicio:   Fin:

Operaciones con Directorios

Las llamadas al sistema permitidas para el manejo de los directorios tienen variación de sistema a sistema [23, Tanenbaum].

Las más comunes son las siguientes:

Inicio:   Fin:

Implantación del Sistema de Archivos y sus Relaciones con la Asignación y Liberación de Espacio

Se consideran aspectos tales como [7, Deitel]:

Se deben tener presentes problemas tales como la “fragmentación” creciente del espacio en disco: Inicio:   Fin:

Implantación de Archivos

El aspecto clave de la implantación del almacenamiento de archivos es el registro de los bloques asociados a cada archivo [7, Deitel].

Algunos de los métodos utilizados son los siguientes:


Encadenamiento de bloques o lista ligada de bloques.


Encadenamiento de bloques de índices.


Transformación de archivos orientada hacia bloques.


Esquema de un nodo-i.

Inicio:   Fin:

Implantación de Directorios

Para abrir un archivo el S. O. utiliza información del directorio:

La principal función del sistema de directorios es asociar el nombre del archivo con la información necesaria para localizar los datos.

Un aspecto íntimamente ligado con esto es la posición de almacenamiento de los atributos:

Inicio:   Fin:

Archivos Compartidos

Frecuentemente conviene que los archivos compartidos aparezcan simultáneamente en distintos directorios de distintos usuarios.

El propio sistema de archivos es una gráfica dirigida acíclica en vez de un árbol [23, Tanenbaum].

La conexión entre un directorio y un archivo de otro directorio al cual comparten se denomina enlace.

Si los directorios realmente contienen direcciones en disco:

Primer solución: Segunda solución: Desventajas de la primer solución: Desventajas de la segunda solución: Los enlaces simbólicos tienen la ventaja de que se pueden utilizar para enlazar archivos en otras máquinas, en cualquier parte del mundo; se debe proporcionar solo la dirección de la red de la máquina donde reside el archivo y su ruta de acceso en esa máquina.

Inicio:   Fin:

Administración del Espacio en Disco

Existen dos estrategias generales para almacenar un archivo de “n” bytes [23, Tanenbaum]:

Asignar “n” bytes consecutivos de espacio en el disco:

Dividir el archivo en cierto número de bloques (no necesariamente) adyacentes: Tamaño del bloque:

Dada la forma en que están organizados los bloques, el sector, la pista y el cilindro son los candidatos obvios como unidades de asignación.

Si se tiene una unidad de asignación grande, como un cilindro, esto significa que cada archivo, inclusive uno pequeño, ocupará todo un cilindro; con esto se desperdicia espacio de almacenamiento en disco.

Si se utiliza una unidad de asignación pequeña, como un sector, implica que cada archivo constará de muchos bloques; con esto su lectura generará muchas operaciones de e / s afectando la performance.

Lo anterior indica que la eficiencia en tiempo y espacio tienen un conflicto inherente.

Generalmente se utilizan como solución de compromiso bloques de 1/2 k, 1k, 2k o 4k. (ver Figura 4.8 [23, Tanenbaum]).

Representación de la velocidad de lectura y del uso del espacio en disco en función del tamaño de bloque.

Hay que recordar que el tiempo de lectura de un bloque de disco es la suma de los tiempos de:

Registro de los bloques libres:

Se utilizan por lo general dos métodos:

Lista ligada de bloques de disco: Mapa de bits: Disk quotas:

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

La idea es que:

Un mecanismo utilizado es el siguiente:


Inicio:   Fin:

Confiabilidad del Sistema de Archivos

Es necesario proteger la información alojada en el sistema de archivos, efectuando los resguardos correspondientes [23, Tanenbaum].

De esta manera se evitan las consecuencias generalmente catastróficas de la pérdida de los sistemas de archivos.

Las pérdidas 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 solución en hardware:

La solución en software: Respaldos (copias de seguridad o de back-up):

Es muy importante respaldar los archivos con frecuencia.

Los respaldos pueden consistir en efectuar copias completas del contenido de los discos (flexibles o rígidos).

Una estrategia de respaldo consiste en dividir los discos en áreas de datos y áreas de respaldo, utilizándolas de a pares:

Otra estrategia es el vaciado por incrementos o respaldo incremental : Consistencia del sistema de archivos:

Muchos sistemas de archivos leen bloques, los modifican y escriben en ellos después.

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 crítica si alguno de los bloques afectados son:

La mayoría de los sistemas dispone de un programa utilitario que verifica la consistencia del sistema de archivos: Generalmente los utilitarios utilizan dos tablas: Si un bloque no aparece en ninguna de las tablas se trata de una falla llamada bloque faltante: También podría detectarse la situación de falla debida a un bloque referenciado dos veces en la tabla de bloques libres: Una falla muy grave es que el mismo bloque de datos aparezca referenciado dos o más veces en la tabla de bloques en uso: Otro error posible es que un bloque esté en la tabla de bloques en uso y en la tabla de bloques libres: Las verificaciones de directorios incluyen controles como: Una posible falla es que el contador de enlaces sea mayor que el número de entradas del directorio: Otro tipo de error es potencialmente catastrófico: También se pueden hacer verificaciones heurísticas, por ej.: Inicio:   Fin:

Desempeño del Sistema de Archivos

El acceso al disco es mucho más lento que el acceso a la memoria:

La técnica más común para reducir los accesos a disco es el bloque caché o buffer caché[23, Tanenbaum]: Uno de los algoritmos más comunes para la administración del caché es el siguiente: Se debe considerar la posibilidad de una falla total del sistema y su impacto en la consistencia del sistema de archivos: Se deben tener en cuenta los siguientes factores: La solución de algunos S. O. consiste en tener una llamada al sistema que fuerza una actualización general a intervalos regulares de algunos segundos (por ej. 30).

Otra solución consiste en escribir los bloques modificados (del caché) al disco, tan pronto como haya sido escrito (el caché):

Una técnica importante para aumentar el rendimiento de un sistema de archivos es la reducción de la cantidad de movimientos del brazo del disco (mecanismo de acceso): Inicio:   Fin:

Descriptor de Archivos

El descriptor de archivos o bloque de control de archivos es un bloque de control que contiene información que el sistema necesita para administrar un archivo [7, Deitel].

Es una estructura muy dependiente del sistema.

Puede incluir la siguiente información:

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.

Inicio:   Fin:

Seguridad

Los sistemas de archivos generalmente contienen información muy valiosa para sus usuarios, razón por la que los sistemas de archivos deben protegerla [23, Tanenbaum].

El Ambiente de Seguridad

Se entenderá por seguridad a los problemas generales relativos a la garantía de que los archivos no sean leídos o modificados por personal no autorizado; esto incluye aspectos técnicos, de administración, legales y políticos.

Se consideraran mecanismos de protección a los mecanismos específicos del sistema operativo utilizados para resguardar la información de la computadora.

La frontera entre seguridad y mecanismos de protección no está bien definida.

Dos de las más importantes facetas de la seguridad son:

Algunas de las causas más comunes de la pérdida de datosson: La mayoría de estas causas se pueden enfrentar con el mantenimiento de los respaldos (back-ups) adecuados; debería haber copias en un lugar alejado de los datos originales.

Respecto del problema de los intrusos, se los puede clasificar como:

Para diseñar un sistema seguro contra intrusos: Algunos tipos de intrusos son los siguientes: Otro aspecto del problema de la seguridad es la privacía: También debe señalarse la posibilidad del ataque del caballo de Troya: Además debe considerarse la posibilidad de ataques al estilo del gusano de Internet: Una forma de probar la seguridad de un sistema es contratar un grupo de expertos en seguridad, conocido como el equipo tigre o equipo de penetración, cuyo objetivo es intentar penetrar el sistema de seguridad para descubrir sus falencias y proponer soluciones.

Otro aspecto importante de la seguridad consiste en no subestimar los problemas que puede causar el personal.

Inicio:   Fin:

Virus

Los virus computacionales:

Inicio:   Fin:

Principios del Diseño Para la Seguridad

El diseño del sistema debe ser público, ya que pensar que el intruso no conocerá la forma de funcionamiento del sistema es un engaño.

El estado predefinido debe ser el de no acceso, dado que los errores en donde se niega el acceso válido se reportan más rápido que los errores en donde se permite el acceso no autorizado.

Verificar la autorización actual :

Dar a cada proceso el mínimo privilegio posible, lo que implica un esquema de “protección de grano fino”.

El mecanismo de protección debe ser simple, uniforme e integrado hasta las capas más bajas del sistema:

El esquema de seguridad debe ser sicológicamente aceptable: Inicio:   Fin:

Autentificación del Usuario

Muchos esquemas de protección se basan en la hipótesis de que el sistema conoce la identidad de cada usuario.

La identificación de los usuarios se conoce como la autentificación de los usuarios.

Muchos métodos de autentificación se basan en:

Inicio:   Fin:

Contraseñas

Son la forma de autentificación más utilizada.

Son de fácil comprensión e implementación.

Deben almacenarse cifradas (encriptadas).

Se deben prever intentos de penetración consistentes en pruebas de combinaciones de nombres y contraseñas.

Si las contraseñas fueran de 7 caracteres elegidos al azar de los 95 caracteres ASCII que se pueden imprimir:

Una mejora al esquema de contraseñas consiste en: Una protección adicional consiste en hacer ilegible el archivo de contraseñas encriptadas.

Otra protección adicional consiste en que el sistema sugiera a los usuarios contraseñas generadas según ciertos criterios; con esto se evita que el usuario elija contraseñas muy sencillas.

También es conveniente que el sistema obligue al usuario a cambiar sus contraseñas con regularidad; se puede llegar a la contraseña de una sola vez.

Una variante de la idea de contraseña es solicitar al usuario respuestas sobre información de contexto que debe conocer.

Otra variante es la de reto-respuesta:

Inicio:   Fin:

Identificación Física

Una posibilidad es la verificación de si el usuario tiene cierto elemento (generalmente una tarjeta plástica con una banda magnética), que generalmente se combina con una contraseña.

Otro aspecto consiste en la medición de características físicas difíciles de reproducir:

Inicio:   Fin:

Medidas Preventivas

Limitar los intentos de acceso fallidos y registrarlos.

Registrar todos los accesos.

Tender trampas para atrapar a los intrusos.

Inicio:   Fin:

Mecanismos de Protección

Dominios de Protección

Muchos objetos del sistema necesitan protección, tales como la cpu, segmentos de memoria, unidades de disco, terminales, impresoras, procesos, archivos, bases de datos, etc. [23, Tanenbaum].

Cada objeto se referencia por un nombre y tiene habilitadas un conjunto de operaciones sobre él.

Un dominio es un conjunto de parejas (objeto, derechos):

Un derecho es el permiso para realizar alguna de las operaciones.

Es posible que un objeto se encuentre en varios dominios con “distintos” derechos en cada dominio.

Un proceso se ejecuta en alguno de los dominios de protección:

Los procesos pueden alternar entre los dominios durante la ejecución.

Una llamada al S. O. provoca una alternancia de dominio.

En algunos S. O. los dominios se llaman anillos.

Una forma en la que el S. O. lleva un registro de los objetos que pertenecen a cada dominio es mediante una matriz :

Inicio:   Fin:

Listas Para Control de Acceso

Las “matrices de protección” son muy grandes y con muchos lugares vacíos [23, Tanen-baum]:

La lista de control de acceso (ACL: access control list): Una forma de implementar las ACL consiste en: Inicio:   Fin:

Posibilidades

La matriz de protección también puede dividirse por renglones [23, Tanenbaum]:

La lista de objetos se denomina lista de posibilidades y los elementos individuales se llaman posibilidades.

Cada posibilidad tiene:

Las listas de posibilidades son a su vez objetos y se les puede apuntar desde otras listas de posibilidades; esto facilita la existencia de subdominios compartidos.

Las listas de posibilidades o listas-c deben ser protegidas del manejo indebido por parte del usuario.

Los principales métodos de protección son:

Generalmente las posibilidades tienen derechos genéricos aplicables a todos los objetos, por ej.: Muchos sistemas con posibilidades se organizan como una colección de módulos con módulos administradores de tipos para cada tipo de objeto y entonces es esencial que el módulo administrador de tipos pueda hacer más cosas con la posibilidad que un proceso ordinario.

Se utiliza la técnica de amplificación de derechos:

Inicio:   Fin:

Modelos de Protección

Las matrices de protección no son estáticas sino dinámicas[23, Tanenbaum].

Se pueden identificar seis operaciones primitivas en la matriz de protección:

Las primitivas se pueden combinar en comandos de protección, que pueden ser ejecutados por los programas del usuario para modificar la matriz de protección.

En cada momento, la matriz de protección determina lo que puede hacer un proceso en cualquier momento; no determina lo que no está autorizado a realizar.

La matriz es impuesta por el sistema.

La autorización tiene que ver con la política de administración.

Inicio:   Fin:

Control de Acceso Por Clases de Usuarios

Una matriz de control de acceso puede llegar a ser tan grande que resulte impráctico mantenerla [7, Deitel].

Una técnica que requiere menos espacio es controlar el acceso a varias clases de usuarios.

Un ejemplo de esquema de clasificación es el siguiente:

Inicio:   Fin:

Respaldo y Recuperación

La destrucción de la información, ya sea accidental o intencional, es una realidad y tiene distintas causas [7, Deitel]:

Esta posible destrucción de la información debe ser tenida en cuenta por: Una técnica muy usada para asegurar la disponibilidad de los datos es realizar respaldos periódicos: Otra técnica es pasar todas las transacciones a un archivo, copiándolas en otro disco: También existe la posibilidad del respaldo incremental : Se debe tener presente que es muy difícil garantizar una seguridad absoluta de los archivos.

Inicio:   Fin:
 
 

Para mayor información, seleccione una opción:

Número de visitas efectuadas desde el 17/12/2001: 

Estadísticas diarias desde el 10/07/2002:   Free counter and web stats

Número de visitantes actuales disponible desde el 14/07/2002:

 

AddFreeStats.com Free Web Stats in real-time !  

 

 

 

Autor: lrmdavid@exa.unne.edu.ar

Ó FACENA - http://exa.unne.edu.ar

Servicios WEB: webmaster@exa.unne.edu.ar