so unidad 5

45
INSTITUTO TECNOLOGICO DE OAXACA Alumno: Luis Ignacio Carmona Olivera Materia: Sistemas Operativos Hora: 4-5 Tarea: 5º Unidas Fecha: 14 de junio de 2011 Sistemas de Archivos ¿Qué es un sistema de archivos? Es un conjunto de reglas que estructuran el manejo de información, mas un software que se encarga de la gestión de la misma. Esto significa que un sistema de archivos le indica al sistema operativo como debe dividir los datos en el disco, determinar donde se ubican y los crea, mueve, renombra o elimina. Esta estructura normalmente es jerárquica, con un directorio raíz y una determinada cantidad de sub directorios y archivos. En Windows el directorio raíz se identifica con la letra de la unidad seguida de ":\". Las carpetas contenedoras de archivos (o subdirectorios) se simbolizan con un nombre y luego "\" y los archivos se denominan mediante un nombre y luego un punto (.) y la extensión que normalmente puede ser de tres letras, aunque su longitud es variable. Este simbolismo es heredado del viejo sistema DOS y como notarán hay al menos un directorio raíz por cada unidad física, ya sea disco rígido, lectora de CD, diskettera, etc. Así un ejemplo de una ruta de archivo sería "C:\nombre_carpeta\ archivo.ext". Es importante saber que en los sistemas de archivos de Windows los archivos siemprellevan extensión, de lo contrario el sistema operativo no sabrá que hacer con ellos.

Upload: lucho-carmona

Post on 05-Jul-2015

167 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: SO Unidad 5

INSTITUTO TECNOLOGICO DE OAXACA

Alumno: Luis Ignacio Carmona Olivera

Materia: Sistemas Operativos

Hora: 4-5

Tarea: 5º Unidas

Fecha: 14 de junio de 2011

Sistemas de Archivos

¿Qué es un sistema de archivos? Es un conjunto de reglas que estructuran el manejo de información, mas un software que se encarga de la gestión de la misma. Esto significa que un sistema de archivos le indica al sistema operativo como debe dividir los datos en el disco, determinar donde se ubican y los crea, mueve, renombra o elimina. Esta estructura normalmente es jerárquica, con un directorio raíz y una determinada cantidad de sub directorios y archivos.

En Windows el directorio raíz se identifica con la letra de la unidad seguida de ":\". Las carpetas contenedoras de archivos (o subdirectorios) se simbolizan con un nombre y luego "\" y los archivos se denominan mediante un nombre y luego un punto (.) y la extensión que normalmente puede ser de tres letras, aunque su longitud es variable. Este simbolismo es heredado del viejo sistema DOS y como notarán hay al menos un directorio raíz por cada unidad física, ya sea disco rígido, lectora de CD, diskettera, etc. Así un ejemplo de una ruta de archivo sería "C:\nombre_carpeta\archivo.ext". Es importante saber que en los sistemas de archivos de Windows los archivos siemprellevan extensión, de lo contrario el sistema operativo no sabrá que hacer con ellos.

Podemos encontrar (siempre hablando de Windows) varios sistemas de archivos. Los mas habituales son FAT16, FAT32 y NTFS.

Los sistemas FAT (File Allocation Table - Tabla de Asignación de Archivos) son sencillos ya que lo único que hacen es guardar en un sector de arranque una tabla que le indica al sistema operativo donde están los archivos. FAT16 fue la primera versión para sistemas Windows pero se volvió obsoleto por no poder manejar mas de 65.000 archivos y un disco de 4GB de capacidad. FAT32, la siguiente versión, resolvió esto (puede manejar mas de 200 millones de archivos y discos de 2000GB), pero tiene como problemas una fragmentación importante de archivos, haciendo mas lenta la búsqueda en el disco, y que el tamaño máximo de archivo es de 4GB, un limitante

Page 2: SO Unidad 5

bastante importante a la hora de la edición de video o backups. Otros inconvenientes de FAT son la falta de permisos de seguridad y ser muy propenso a errores. Este formato no desapareció ya que es muy útil en dispositivos extraibles como diskettes, pen drives, etc. por ser liviano y compatible con casi cualquier sistema operativo.

Con la salida de Windows XP se popularizó para el usuario hogareño el sistema de archivos NTFS (New Tech File System, que ya existía para Windows NT). Este formato, solucionó algunas cuestiones de seguridad y permite menos fragmentación que el anterior FAT32. Por otra parte sus límites son 16 TeraBytes de tamaño de archivo (1TB=1024GB), puede manejar algo mas de 4 mil millones de archivos y puede controlar discos de hasta 256TB.Los problemas de este sistema: no es recomendable para discos de menos de 400MB, no es compatible con sistemas operativos anteriores como Windows 98 y por último, no puede ser utilizado en medios extraibles de poca capacidad.

Por último hay que destacar que Microsoft está desarrollando desde hace varios años un nuevo sistema de archivos llamado WinFS, que en un principio iba a estar integrado con Windows Vista. Sin embargo el proyecto parece estar parado, así que no hay novedades al respecto (el blog oficial de los desarrolladores de WinFS está abandonado desde 2006)Rutas y nombre de archivos

La estructura de directorios suele ser jerárquica, ramificada o "en árbol", aunque en algún caso podría ser plana. En algunos sistemas de archivos los nombres de archivos son estructurados, con sintaxis especiales para extensiones de archivos y números de versión. En otros, los nombres de archivos son simplemente cadenas de texto y los metadatos de cada archivo son alojados separadamente.

En los sistemas de archivos jerárquicos, usualmente, se declara la ubicación precisa de un archivo con una cadena de texto llamada "ruta" —o path en inglés—. La nomenclatura para rutas varía ligeramente de sistema en sistema, pero mantienen por lo general una misma estructura. Una ruta viene dada por una sucesión de nombres de directorios y subdirectorios, ordenados jerárquicamente de izquierda a derecha y separados por algún carácter especial que suele ser una diagonal ('/') o diagonal invertida ('\') y puede terminar en el nombre de un archivo presente en la última rama de directorios especificada.

Ejemplo de 'ruta' en un sistema Unix

Así, por ejemplo, en un sistema tipo Unix como GNU/Linux, la ruta para la canción llamada "canción.ogg" del usuario "álvaro" sería algo como:

Page 3: SO Unidad 5

/home/álvaro/música/canción.ogg

donde:

'/' representa el directorio raíz donde está montado todo el sistema de archivos.

'home/álvaro/música/' es la ruta del archivo.

'canción.ogg' es el nombre del archivo.

que se establece como único.

Ejemplo de 'ruta' en un sistema Windows

Un ejemplo análogo en un sistema de archivos de Windows (específicamente en Windows XP) se vería como:

C:\Documents and Settings\alvaro\Mis Documentos\Mi Música\canción.mp3

donde:

'C:' es la unidad de almacenamiento en la que se encuentra el archivo.

'\Documents and Settings\alvaro\Mis Documentos\Mi Música\' es la ruta del archivo.

'canción' es el nombre del archivo.

'.mp3' es la extensión del archivo, este elemento, parte del nombre, es especialmente relevante en los sistemas Windows, ya que sirve para identificar qué aplicación está asociada con el archivo en cuestión, es decir, con qué programa se puede editar o reproducir el archivo.

Archivos reales y virtualesLa mayoría de usuarios de computadoras comprenderán con mucha facilidad el término archivo relacionándolo directamente con ejemplos tales como los archivos de texto que se pueden generar con cualquier procesador de texto. Una característica 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 línea corta de texto ocupa menos espacio en disco que esa misma línea 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 volátil, es decir la aquel tipo de memoria cuya información se pierde al interrumpirse el flujo de corriente eléctrica, esto es, la memoria RAM.

Page 4: SO Unidad 5

Organización de los archivos de manera logica y fisicaEn esta parte vamos a usar el término organización de archivos para referirnos a la estructura lógica de los registros determinada por la manera en que se accede a ellos. La organización física del archivo en almacenamiento secundario depende de la estrategia de agrupación y de la estrategia de asignación de archivos. Para seleccionar una organización de archivos hay diversos criterios que son importantes: * Acceso Rápido para recuperar la información

Fácil actualización Economía de almacenamiento

Mantenimiento simple Fiabilidad para asegurar la confianza de los datos

* Acceso Rápido para recuperar la información * Fácil actualización * Economía de almacenamiento * Mantenimiento simple * Fiabilidad para asegurar la confianza de los datos La prioridad relativa de estos criterios va a depender de las aplicaciones que va a usar el archivo. El número de alternativas de organización de archivos que se han implementado o propuesto es inmanejable, incluso para un libro dedicado a los sistemas de archivos. La mayor parte de las estructuras empleadas en los sistemas reales se encuadran en una de estas categorías o puede implementarse como una combinación de estas:Pilas Archivos secuenciales Archivos Secuenciales indexados Archivos indexados Archivos directos o de dispersión.

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 creación, destrucción, organización 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 recuperación.

En general, un Sistema de Archivos está compuesto por: Métodos De Acceso, Administración De Archivos, Administración De Almacenamiento Secundario, Mecanismos De Integridad.

Métodos De Acceso. Se ocupan de la manera en que se tendrá acceso a la información almacenada en el archivo. Ejemplo: Secuencial, Directo, indexado, etc.

Page 5: SO Unidad 5

Administración De Archivos. Se ocupa de ofrecer los mecanismos para almacenar, compartir y asegurar archivos, así como para hacer referencia a ellos.

Administración 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 administración de espacio en un disco duro.

Mecanismos De Integridad. Se ocupan de garantizar que no se corrompa la información de un archivo, de tal manera que solo la información que deba estar en el, se encuentre ahí.

Mecanismos de Organización Lógica. Contiene las diferentes rutinas y comandos a través de los cuales el usuario podrá estructurar sus archivos virtuales.

Directorio de Identificadores. Convierte los identificadores simbólicos de los archivos en identificadores internos, los cuales apuntarán a su descriptor o a una estructura que permite encontrar el archivo.

Sistemas Teóricos de Archivos. Su objetivo es el de activar y desactivar a través de las rutinas de abrir y cerrar archivos y verifica el modo de acceso.

Mecanismos de Organización Física. Traslada las direcciones lógicas en direcciones físicas 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 petición 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 número de peticiones pendientes así como de las que se están realizando y lleva el control y asignación de tiempo de CPU a las diferentes peticiones de E/S.

Organización de archivosSe refiere a las diferentes maneras en las que puede ser organizada la información de los archivos, así como las diferentes maneras en que ésta puede ser accesada. Dado que hay 2 niveles de visión de los archivos (físico y lógico), se puede hablar también de 2 aspectos de organización de archivos: Organización de archivos lógicos y de archivos físicos.

Page 6: SO Unidad 5

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:

Se utiliza una “raíz ” para indicar en qué parte del disco comienza el “directorio raíz ” .

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

Organización lógica.

La mayoría de las computadoras organizan los archivos en jerarquías llamadas carpetas, directorios o catálogos . (El concepto es el mismo independientemente de la terminología usada.) Cada carpeta puede contener un número arbitrario de archivos, y también puede contener otras carpetas. Las otras carpetas pueden contener todavía más archivos y carpetas, y así sucesivamente, construyéndose un estructura en árbol en la que una «carpeta raíz» (el nombre varía de una computadora a otra) puede contener cualquier número de niveles de otras

Page 7: SO Unidad 5

carpetas y archivos. A las carpetas se les puede dar nombre exactamente igual que a los archivos (excepto para la carpeta raíz, que a menudo no tiene nombre). El uso de carpetas hace más fácil organizar los archivos de una manera lógica.

La mayor parte de las estructuras de organizaciones alternativas de archivos se encuentran dentro de estas cinco categorías:

Pilas

Es la forma más fácil 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 implícitamente con delimitadores, explícitamente incluidos como un subcampo más.

El acceso a los registros se hace por búsquedas exhaustiva y son fáciles 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 fáciles de organizar. Esta clase de archivo aprovecha bien el espacio cuando los datos almacenados varían en tamaño y estructura. Fuera de estos usos limitados, este tipo de archivos no se adapta a la mayoría de las aplicaciones.

Archivos secuenciales

Page 8: SO Unidad 5

Es la forma más común de estructura de archivos.

Se emplea un formato fijo para los registros, son de la misma longitud y constan del mismo número de campos de tamaño 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 organización 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 búsqueda 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 podrán aplicar técnicas de búsquedas más eficientes. Al acceder un registro de un archivo secuencial grande, se produce un procesamiento extra y un retardo considerable.

La organización física del archivo en una cinta o disco se corresponde exactamente con la organización lógica 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 físicamente el archivo secuencial como una lista enlazada, en cada bloque físico se almacena uno o más registros y cada bloque del disco contiene un puntero al bloque siguiente. La inserción de un nuevo registro implica la manipulación de puntero, pero no requiere que el nuevo registro ocupe una posición particular del bloque físico.

Archivos secuenciales indexados

Page 9: SO Unidad 5

Los registros se organizan en una secuencia basada en un campo clave presentando dos características, un índice del archivo para soportar los accesos aleatorios y un archivo de desbordamiento. El índice proporciona una capacidad de búsqueda para llagar rápidamente 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 más 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 búsqueda continua en el archivo principal a partir de la posición 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, también se añade al archivo de desbordamiento. El registro del archivo principal que precede inmediatamente al nuevo registro según la secuencia lógica se actualiza con un puntero del registro nuevo en el archivo de desbordamiento, si el registro inmediatamente anterior está también en el archivo de desbordamiento se actualizará el puntero en el registro.

Para procesar secuencialmente un archivo completo los registros del archivo principal se procesarán en secuencia hasta encontrar un puntero al archivo de desbordamiento, el acceso continua en el archivo de desbordamiento hasta que encuentra un puntero nulo, entonces renueva el acceso donde se abandonó en el archivo principal.

Archivos indexados

Page 10: SO Unidad 5

A los registros se accede solo a través de sus índices. No hay resticción en la ubicación 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 búsqueda, el otro índice es parcial que contiene entrada a los registros donde esté el campo de interés.

Con registro de longitud variable, algunos registros no contendrán todos los campos y cuando se añade un registro al archivo principal, todos los archivos de índices deben actualizarse.

Archivos directos o de dispersión

Explotan la capacidad de los discos para acceder directamente a cualquier bloque de dirección conocida.

Se requiere un campo clave en cada registro.

Los archivos directos son muy usados donde se necesita un acceso muy rápido, donde se usan registros de longitud fija y donde siempre se accede a los registros de una vez.

Organización física.

Los datos son arreglados por su adyacencia física, es decir, de acuerdo con el dispositivo de almacenamiento secundario. Los registros son de tamaño fijo o de tamaño variable y pueden organizarse de varias formas para constituir archivos físicos.

Cinta magnética.

Page 11: SO Unidad 5

En este dispositivo el archivo físico esta formado por un conjunto de registros físicos, y los bloques están organizados en forma consecutiva, ya que se asigna en igual forma.

Además tales registros puede contener etiquetas que permitan un mayor control sobre los datos almacenados, y son las siguientes:

- Etiqueta de volumen.- Contiene información que permite identificar la cinta, el nombre del propietario y cualquier información general requerida.

- Etiqueta de archivo.- Se utilizan por pares para indicar el inicio y fin del archivo, contiene información acerca del nombre del archivo, fecha de creación.

- Etiqueta de usuario.- Sirven para guardar información adicional de importancia para el usuario; no son procesados por el sistema operativo.

Discos Magnéticos.

El archivo físico en un disco es una colección de registros físicos de igual tamaño, los cuales pueden estar organizados en forma consecutiva, ligada o con una tabla de mapeo.

En la organización contigua, el archivo utiliza registros físicos contiguos, siguiendo la secuencia normal de direcciones.

La organización encadenada consiste un conjunto de bloques, cada uno de los cuales tiene un campo destinado para indicar la dirección del siguiente registro, o sea, para lo que se ha llamado enlace o liga.

Otra forma de organización es la tabla de mapeo que consiste en una tabla de apuntadores a los registros físicos que forman el archivo.

La organización física de un archivo en el almacenamiento secundario depende de la

Page 12: SO Unidad 5

estrategia de agrupación y de la estrategia de asignación de archivos.

Para elegir una organización 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 rápido para la recuperación de un único registro es una preocupación mínima. Un archivo almacenado en CD-ROM nunca será actualizado, por lo que la facilidad de actualización no se considera. Para la economía de almacenamiento , debería existir una mínima redundancia de los datos, ésta redundancia es el medio fundamental para incrementar la velocidad de acceso a los datos.

Este tipo de organización muestra a su vez, 2 aspectos importantes: Métodos De Asignación De Espacio Libre y Asignación De Espacio De Almacenamiento Del Archivo.

METODOS DE ASIGNACION DE ESPACIO LIBRE

Un método de asignación de espacio libre determina la manera en que un Sistema Operativo controla los lugares del disco que no están siendo ocupados. Para el control del espacio libre se puede utilizar como base alguno de los métodos teóricos: Vector de Bits, Lista Ligada, Por Agrupacion y por Contador.

VECTOR DE BITS

Se tiene un arreglo de bits, el número de bits que tiene, representa cada sector del disco, o sea que si los sectores 10 y 11 están ocupados su representacion será:

LISTA LIGADA

Existe una cabeceraen la que se tiene la direccion del primer sector vacio, 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.

Page 13: SO Unidad 5

POR AGRUPACION

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

POR CONTADOR

Aqui, por cada conjunto de bloques contiguos que estén vacios, se tiene por cada apuntador, un número de inicio y el tamaño del grupo de sectores vacios.

Page 14: SO Unidad 5

MÉTODOS DE ASIGNACIÓN DE ESPACIO EN DISCO.

Un método de asignación 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 básicamente la identificación del archivo, sector de inicio y sector final.

Para el control del espacio ocupado en disco se puede utilizar como base alguno de los métodos teóricos: Asignación Contigua, Asignación Ligada, Asignación Indexada.

ASIGNACIÓN CONTIGUA.

Este método consiste en asignar el espacio en disco de tal manera que las direcciones de todos losbloques correspondientes a un archivo definen un orden lineal. Por ejemplo:

VENTAJASDESVENTAJAS

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

- Produce fragmentación externa.

ASIGNACIÓN LIGADA

En este método, 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:

Page 15: SO Unidad 5

VENTAJASDESVENTAJAS

- No produce fragmentación externa.

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 implementación de archivos directos.

Se necesita un campo extra para el apuntador.

ASIGNACIÓN INDEXADA

Como ya se vio, la asignación ligada resuelve problemas de fragmentación externa, sin embargo, laasignación ligada no soporta eficientemente el acceso directo a los archivos. La asignación 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 dirección del bloque índice de cada archivo, por ejemplo:

Page 16: SO Unidad 5

VENTAJASDESVENTAJAS

No produce fragmentación externa. Eficiente para la implementación de archivos

directos.

Existe desperdicio cuando hay archivos muy chicos.

Desbordamiento de bloque índice. (Solución: creación de un esquema ligado; el ultimo bloque índice apunta a otro índice) .

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 información que el sistema necesita para administrar un archivo.

Es una estructura muy dependiente del sistema.

Puede incluir la siguiente información:

Nombre simbólico del archivo. Localización del archivo en el almacenamiento secundario. Organización del archivo (método de organización y acceso). Tipo de dispositivo. Datos de control de acceso. Tipo (archivo de datos, programa objeto, programa fuente, etc.). Disposición (permanente contra temporal). Fecha y tiempo de creación. Fecha de destrucción. Fecha de la última modificación.

Page 17: SO Unidad 5

Suma de las actividades de acceso (número 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 información 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 información, identificación del archivo, lugar de almacenamiento, información del modo de acceso.

Identificación del archivo. Consiste de dos partes que es el nombre simbólico que es el que le da el usuario y un identificador interno que es asignado por el sistema operativo (número). Lugar de almacenamiento así como el tamaño del archivo. Modo de acceso. Se debe indicar en forma explícita quien puede accesar el archivo y conque derecho.

Mecanismo de control de acceso.

Control de un sistema de información especializado en detectar los intectos de acceso, permitiendo el paso de las entidades autorizadas, y denegando el paso a todas las demás. Involucra medios técnicos y procedimientos operativos.

Mecanismo que en función de la identificación 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 rápido 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.

Manejo de espacio en memoria secundariaA diferencia de la Memoria Principal la Memoria Secundaria , auxiliar, masiva, externa no es tan veloz pero tiene gran capacidad para almacenar información en dispositivos tales como discos, cintas magnéticas, 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

Page 18: SO Unidad 5

darlos de nuevo a través del dispositivo de entrada.

En la Memoria Secundaria un archivo consta de un conjunto de bloques (correspondiente a la cantidad de información que se transfiere físicamente en cada operación de acceso (lectura o escritura).

El Sistema Operativo o Sistema de Gestión de Archivos es el encargado de la asignación 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 (agrupación)

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 implantación se consigue guardando la dirección del primer block libre y el número de los blocks libres contiguos que le siguen. Cada entrada de la lista de espacio libre consiste de una dirección de disco y un contador (por conteo).

Por agrupación. Se almacena la dirección en n blocks libres en el primer block libre y el último contiene la dirección de otro block que contiene la dirección de otros blocks libres.

Page 19: SO Unidad 5

Para manejar los espacios en disco existen los siguientes métodos:

Contiguos

Ligados

Indexados

Contiguos: Esta asignación requiere que cada archivo ocupe un conjunto de direcciones contiguas en el disco, su asignación es definida por la dirección 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 asignación previa que emplea secciones de tamaño variable. La tabla de asignación de archivos necesita solo una entrada por cada archivo y que muestre el bloque de comienzo y la longitud del archivo. La asignación contigua es la mejor para un archivo secuencial.

La asignación contigua presenta algunos problemas, como la fragmentación externa. Lo que hace difícil encontrar bloques contiguos de espacio de tamaño suficiente., lo que lleva a ejecutar un algoritmo de compactación para libera el espacio adicional en el disco.

Asignación ligada o encadenada: Cada archivo es una lista ligada de blocks y el directorio contiene un apuntador al primer bloc y al último.

La asignación se hace con bloques individuales, cada bloque contendrá un puntero al siguiente bloque de la cadena. La tabla de asignación de archivos necesita una sola entrada por cada archivo que muestre el bloque de comienzo y la longitud del mismo, cualquier bloque puede añadirse a la cadena. No hay que preocuparse por la fragmentación externa porque solo se necesita un bloque cada vez.

Una consecuencia del encadenamiento es que no hay cabida para el principio de cercanía, 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 compactación para liberar el espacio adicional en el disco.

Asignación Indexada: Cada archivo tiene su propio bloc de índice el cual es un arreglo de direcciones de bloc.

En esta asignación la tabla de asignación de archivos contiene un índice separado de un nivel para cada archivo: el índice posee una entrada para cada sección asignada al archivo. Normalmente, los índices no están almacenados físicamente como parte de la tabla de asignación de archivos. Mas exactamente el índice de archivo se guardara en un bloque aparte y la entrada del archivo en la entrada de asignación apuntara a dicho bloque.

Page 20: SO Unidad 5

La asignación puede hacerse por bloques de tamaño fijo, O en secciones de tamaño variable. La asignación por bloques elimina la fragmentación externa, mientras que la asignación por secciones de tamaño variable mejora la cercanía. En cualquier caso, los archivos pueden concentrarse en zonas cercanas de cuando en cuando. La concentración reduce el tamaño del índice en el caso de secciones de tamaño variable, pero no en el caso de asignación por bloques.

La asignación indexada soporta tanto el acceso secuencial como el acceso directo a los archivos y por ello se ha convertido en la forma más popular de asignación de archivos.

En un sistema de cómputo, los elementos que se declaran para almacenamiento son los Fyle System. Cuándo existe una solicitud de almacenamiento o manejo de bloc libres en un file system surge una interrogante ¿cómo atenderlas? esto se lleva a cabo mediante una planificación de discos y para esto existen las siguientes políticas de planificación.

a) FCFS

b) SSTF

c) SCAN

d) SCAN de n-pasos

e) C-SCAN

f) Esquema Eschenbach

Modelo jerárquicoJavier Fernández Rivera “modelo de datos” 2003 comenta que a este modelo se le llama árbol ya que se usa una estructura de árbol invertida con las raíces en la parte superior del diseño para su representación. Es similar al modelo en red ya que los datos se representan mediante registros llamados nodos y las relaciones se suelen llamar lazos o enlaces. Sus características son:· Una colección de arbole forman una BD· Padre es un nodo vinculado a otros de nivel inferior· Gemelos son los nodos al mismo nivel y tienen el mismo padre· Hojas son los nodos que no tienen hijos· Altura es la cantidad de niveles· Camino son las líneas que unen los nodos no puede haber mas de un camino al mismo sitio o nodo· Rama es un camino que termina en una hoja· Familia es el conjunto de padres e hijos, etc.· Momento es el numero total de nodos en un árbol

Page 21: SO Unidad 5

· Peso es la cantidad de hojas que tiene el árbolMichael González, J. Javier Gutiérrez (1998) Afirman que generalmente un sistema de archivos tiene directorios que asocian un nombre de archivo a cada archivo, usualmente conectando el nombre de archivo a un índice en una tabla de asignación de archivos de algún tipo (como FAT en sistemas de archivos MS-DOS o los inodos de los sistemas Unix).

La estructura de directorios suele ser jerárquica, ramificada o "en árbol", aunque en algún caso podría ser plana. En algunos sistemas de archivos los nombres de archivos son estructurados, con sintaxis especiales para extensiones de archivos y números de versión. En otros, los nombres de archivos son simplemente cadenas de texto y los meta datos de cada archivo son alojados separadamente.En los sistemas de archivos jerárquicos, usualmente, se declara la ubicación precisa de un archivo con una cadena de texto llamada "ruta" (o path en inglés). La nomenclatura para rutas varía ligeramente de sistema en sistema, pero mantienen por lo general una misma estructura. Una ruta viene dada por una sucesión de nombres de directorios y subdirectorios, ordenados jerárquicamente de izquierda a derecha y separados por algún carácter especial que suele ser una barra ('/') o barra invertida ('\') y puede terminar en el nombre de un archivo presente en la última rama de directorios especificada.Ejemplo de 'ruta' en un sistema UnixAsí, por ejemplo, en un sistema tipo Unix como GNU/Linux, la ruta para la canción llamada "cancion.ogg" del usuario "pedro" sería algo como:/home/pedro/musica/cancion.oggDonde:· '/' representa el directorio raiz donde está montado todo el sistema de archivos.· 'home/pedro/musica/' es la ruta del archivo.· 'cancion.ogg' es el nombre del archivo.

Ejemplo de 'ruta' en un sistema WindowsUn ejemplo análogo en un sistema de archivos de Windows(específicamente en Windows XP) se vería como:C:\Documents and Settings\pedro\MisDocumentos\Mi música\canción.oggDonde:· 'C:\' es la unidad de almacenamiento en la que se encuentra el archivo.· 'Documents and Settings\pedro\Mis Documentos\Mi música\' es la ruta del archivo.· 'canción.ogg' es el nombre del archivo.· '.ogg' es la extensión del archivo, este elemento, parte del nombre, es especialmente relevante en los sistemas Windows, ya que sirve para identificar qué aplicación está asociada con el archivo en cuestión, es decir, con qué programa se puede editar o reproducir el archivo.El software del sistema de archivos es responsable de la organización de estos sectores en archivos y directorios y mantiene un registro de qué sectores pertenecen a qué

Page 22: SO Unidad 5

archivos y cuáles no han sido utilizados.

DIRECTORIO JERARQUICO

A. S. Tanenbaum. “Sistemas Operativos Modernos” (1993). Explica que los archivos son almacenados por medio de directorios, esta clasificación se de acuerdo a la conveniencia del usuario o de la empresa. La estructura tiene una forma de árbol con raíz, este método es el más utilizado debido a que la revisión o búsqueda se realiza de forma sencilla.Para acceder a los archivos que se almacenan en un sistema jerárquico, el usuario debe indicar el o los directorios que se deben recorrer para localizar el archivo deseado, a esto se le denomina ruta de acceso del archivo. La ruta de acceso puede ser de dos formas:Ruta absoluta.- Este tipo de ruta de acceso inicia siempre con una diagonal invertida [ ]C:\Edit c:\SOS\sistemas\report.txtRuta relativa.- Este tipo de ruta de acceso realiza la búsqueda del archivo en el directorio de trabajo actual, si el archivo no se localiza aquí, el S.O. lo buscará en los directorios especificados en el PATH de un archivo con extensión .BAT.C:\Edit report.txt

Archivos Distribuidos

Existen dos tipos de servicios de archivos distribuidos: modelo carga/descarga y modelo de acceso remoto.Modelo Carga/Descarga: Consiste básicamente en dos operaciones: lectura y escritura. La primera operación consiste en la transferencia de un archivo completo desde el servidor hacia el cliente solicitante; la segunda operación consiste en el envío de un archivo del cliente al servidor, es decir, en sentido contrario. Mientras tanto los archivos pueden ser almacenados en memoria o en un disco local, según sea el caso.

El modelo carga/descargaModelo de Acceso Remoto: Este tipo de modelo consiste en que todas las operaciones (abrir y cerrar, leer y escribir, etc.) se realizan en el servidor mas no en los clientes. Esto se muestra claramente en la Figura 1.2.Figura 1.2. El modelo de acceso remoto

Estos dos modelos se diferencian en que en el primero se debe transferir el archivo completo del servidor al cliente y viceversa, lo que no es necesario en el modelo de acceso remoto.Debemos tener en cuenta que el solo hecho de compartir archivos puede traer dos problemas principales por resolver: el permiso de acceso y la gestiónde los accesos simultáneos.

Permisos de Acceso

Un sistema de archivos distribuidos provee al usuario de una herramienta flexible que permite compartir archivos extensos entre ellos. Esta herramienta actualmente

Page 23: SO Unidad 5

utilizada con mucho éxito (pero con algunas deficiencias) no es más que una lista de derechos de acceso los cuales pueden ser asignados a un usuario en particular para un archivo en particular. Estos derechos de acceso se muestran en la siguiente tabla:

Derecho de Acceso Descripción

Ninguno

En el que el usuario no puede determinar la existencia del archivo y mucho menos acceder a éste y sus directorios. Tampoco puede conocer la ruta que especifica su ubicación actual.

ConocimientoEl usuario conoce sobre la existencia del archivo y quién es su dueño. Puede solicitar tener algunos derechos de acceso a este archivo.

Ejecución El usuario puede ejecutar y cargar el programa pero no copiarlo.

Lectura El usuario puede leer el archivo, también copiarlo y ejecutarlo.

Adición El usuario puede agregar datos al archivo (generalmente al final), pero no puede modificar o borrar su contenido.

Actualización El usuario puede modificar, borrar y agregar datos al archivo.

Cambio de protección El usuario puede cambiar los derechos de acceso que han sido otorgados a los usuarios.

Borrado El usuario puede borrar el archivo de su ubicación actual.

Puede brindarse acceso a las siguientes clases de usuario:

Usuario específico: Usuarios individuales quienes son designados por su ID de usuario.

Grupos de usuario: Conjunto de usuarios no definidos individualmente. Todos: Es decir, todos los usuarios que tengan acceso al sistema. Los archivos son

públicos. Gestión de Accesos Simultáneos:

El sistema operativo o el sistema de gestión de archivos permite al usuario (que previamente ha tenido acceso a determinado archivo) que él mismo pueda bloquear el archivo cuando vaya a utilizarlo , o en todo caso, bloquear los registros individuales durante la actualización. Si no se considera ninguna de estas dos opciones, entonces se analizará aspectos de exclusión mutua e interbloqueo.

Page 24: SO Unidad 5

La Interfaz del Servidor de DirectoriosEl propósito general del servidor de directorios es poder crear y eliminar directorios, nombrar o cambiar el nombre de archivos y mover éstos de un directorio a otro.El sistema distribuido es el encargado de definir el alfabeto y la sintaxis para formar los nombres de los archivos y directorios. Por ejemplo, Windowsdivide los nombres de lo archivos en dos partes: nombre y extensión (tipo de archivo), los cuales se denotan separados por un punto: nombre_archivo.extensión; así tenemos que libro.txt es un archivo cuyo nombre es libro y es de tipo texto. En otros sistemas, como el UNIX, clasifican a los archivos según sus atributos (en UNIX un archivo ejecutable se pinta de otro color).Todo sistema distribuido permite la existencia de subdirectorios (directorios dentro de otro directorio), permitiéndose a los usuarios clasificar sus archivos a sus gusto. Estos subdirectorios, a su vez, pueden contener otros subdirectorios lo que se conoce como sistema jerárquico de archivos.Algunos sistemas distribuidos permiten crear apuntadores o enlaces a un directorio determinado, construyendo, de esta manera, no solamente árbolessino también gráficas de directorios los cuales son más consistentes.

Un árbol de directorios contenido en una máquinaEsta diferencia entre árboles y gráficas es de gran importancia en un sistema distribuido y radica en la eliminación de enlaces entre un directorio y otro. Es decir, en un árbol se puede eliminar un enlace con un directorio si el directorio al cual se apunta es vacío, mientras que en una gráfica solo puede eliminarse enlaces mientras exista al menos otro enlace.

Una gráfica de directorios en dos máquinasSemántica de los Archivos DistribuidosExisten hasta cuatro métodos para utilizar los archivos compartidos en un sistema distribuido:

Semántica de UNIX: En la que cada operación en un archivo es visible a todos los procesos de manera simultánea. Esto implica que cada operación cumpla un estricto orden con respecto al tiempo, puesto que el archivo es actualizado inmediatamente después de realizada cada operación.

Semántica de Sesión: En la que ningún cambio es visible a otros procesos hasta que l archivo que está siendo utilizado se cierra. Esto produce un desfasamiento en la actualización del archivo, puesto que un archivo puede estar siendo utilizado por dos o más clientes en forma simultánea y se tendrá como resultado el archivo cuyo cliente lo cierra después que todos los demás.

Archivos inmutables: En la que no existen actualizaciones, puesto que una vez creado el archivo no puede modificarse. Así es más fácil compartir y replicar archivos.

Transacciones: En la que todos los cambios tienen la propiedad del todo o nada. Es decir, cada operación que es llamada al sistema no se detiene hasta que finaliza propiamente. De esta manera, si una operación es requerida mientras está siendo utilizada por otra, esta última no se ejecutará hasta que finalice la ejecución de la primera.

Permisos de acceso

Page 25: SO Unidad 5

La mayoría de los sistema de archivos modernos permiten asignar permisos (o derechos de acceso) permisos y derechos no es lo mismo a losarchivos para determinados usuarios y grupos de usuarios. De esta manera, se puede restringir o permitir el acceso de un determinado usuario a un archivo para su visualización de contenidos, modificación y/o ejecución (en caso de un archivo ejecutable).

Los sistemas UNIX o compatibles POSIX, incluyendo sistemas basados en Linux y Mac OS X, poseen un sistema simple para el manejo de permisos sobre archivos individuales. POSIX especifica también un sistema de listas de control de acceso, pero sólo está implementado por ciertos sistemas de archivos y sistemas operativos.

Las variantes de DOS (incluyendo los productos de Microsoft MS-DOS, Windows 95, Windows 98, y Windows Me) no implementan ningún sistema de permisos. Existe un atributo de "solo lectura" que puede ser asignado o quitado de cualquier archivo por cualquier usuario.

Microsoft Windows NT y sus derivados (incluyendo Windows 2000 y Windows XP), así como VMS y OpenVMS usan listas de control de acceso (ACLs) para administrar un conjunto más complejo y variado de permisos.

Los permisos de sistemas UNIX se dividen en tres clases, conocidas como usuario, grupo y otros (con frecuencia abreviado UGO, por sus siglas en inglés, User, Group, Others). De hecho, los permisos en Unix son una forma simplificada de listas de control de acceso (ACLs).

Notación simbólica

Existen muchas formas para representar los esquemas de permisos Unix. La forma más común es la notación simbólica. Este esquema permite representar permisos en una serie de 10 caracteres.

Primer carácter

- archivo regular

d directorio

l enlace simbólico

Page 26: SO Unidad 5

Tres grupos de tres caracteres

primero lo que el propietario (o dueño) puede hacer

segundo lo que los miembros del grupo de usuarios pueden hacer

tercero lo que el resto de los usuarios pueden hacer

La tupla

primero r: leíble, -: no leíble

segundo w: modificable, -: protegido contra escritura

tercero x: ejecutable, -: no ejecutable

El primer carácter indica el tipo de archivo:

'-' denota un archivo regular

'd' denota un directorio

'b' denota un archivo especial de bloques

'c' denota un archivo especial de caracteres

'l' denota un enlace simbólico

'p' denota un tubo nombrado

's' denota un socket de dominio

Cada clase de permisos se representa por tres caracteres. El primer conjunto de caracteres representa la clase de usuario. El segundo conjunto representa la clase de grupo. El tercer y último conjunto de tres caracteres representa la clase del resto.

Cada uno de los tres caracteres representa los permisos de lectura, escritura y ejecución respectivamente:

'r' si el bit de lectura está asignado, '-' en caso contrario.

'w' si el bit de escritura está asignado, '-' en caso contrario.

'x' si el bit de ejecución está asignado, '-' en caso contrario.

Page 27: SO Unidad 5

Estos son algunos ejemplos de notación simbólica:

1. "-rwxr-xr-x" para un archivo regular que tiene todos los permisos asignados para su propietario y solo permisos de lectura y ejecución para el grupo de usuarios del archivo y el resto de los usuarios. Ningún usuario, salvo el propietario, puede modificar los contenidos del archivo.

2. "crw-rw-r--" para un archivo especial de caracteres que tiene permisos de lectura y escritura para su propietario y grupo de usuarios y solo permiso de lectura para el resto de los usuarios.

3. "dr-x------" para un directorio que tiene permisos de lectura y ejecución únicamente para su propietario.

Notación simbólica y permisos adicionales

Los tres permisos adicionales se indican cambiando uno de los tres permisos de ejecución según se indica en la tabla siguiente:

Permiso Clase Ejecutable1 No ejecutable²

Set User ID (setuid) Usuario s S

Set Group ID (setgid) Grupo s S

Sticky Otros t T

1. El carácter que se utilizará para indicar que el bit de ejecución estará asignado también.

2. El carácter que se utilizará cuando el bit de ejecución no esté asignado.

He aquí un ejemplo:

"-rwsr-Sr-x" para un archivo cuya clase de usuario tiene permisos de lectura, escritura y ejecución, cuya clase de grupo tiene permiso de lectura, cuya clase del resto tiene permisos de lectura y ejecución y que tiene los permisos de setuid y setgid asignados.

Notación octal

Page 28: SO Unidad 5

Otra forma muy común de representar los permisos Unix es la notación octal, que consiste en un valor de tres o cuatro dígitos en base 8.

Con la notación octal de tres dígitos, cada número representa un componente distinto del conjunto de permisos: clase de usuario, clase de grupo y clase del resto respectivamente.

Cada uno de estos dígitos es la suma de los bits que lo componen (véase también sistema de numeración binario). El peso de cada bit en un dígito es el siguiente:

El bit de lectura suma 4 al total,

El bit de escritura suma 2 al total y

El bit de ejecución suma 1 al total.

Estos valores nunca producen una combinación ambigua: cada suma representa un conjunto específico de permisos.

He aquí los ejemplos de la sección Notación simbólica de más arriba en su notación octal:

"-rwxr-xr-x" se representa como 755 en notación octal de tres dígitos.

"-rw-rw-r--" se representa como 664 en notación octal de tres dígitos.

"-r-x------" se representa como 500 en notación octal de tres dígitos.

Notación octal y permisos adicionales

Existe también un cuarto dígito para la notación octal. En este nuevo esquema, los tres dígitos descritos antes forman parte de los tres últimos dígitos del valor final. El primer dígito representa los permisos adicionales. En algunos sistemas, este primer dígito no puede omitirse y por lo tanto es común usar los cuatro dígitos (con el primer dígito nulo en caso de que no se deseen permisos adicionales).

El primer dígito se forma también como suma de pesos:

El bit setuid suma 4 al total,

El bit setgid suma 2 al total y

El sticky bit suma 1 al total.

El ejemplo de la sección Notación simbólica y permisos adicionales, "-rwsr-Sr-x" se representa como 6745 en notación octal de cuatro dígitos. Los ejemplos de la sección precedente se representan como 0755, 0664, y 0500 respectivamente en notación octal de cuatro dígitos.

Page 29: SO Unidad 5

Servicio de directorios

Un servicio de directorio (SD) es una aplicación o un conjunto de aplicaciones que almacena y organiza la información sobre los usuarios de una red de ordenadores, sobre recursos de red, y permite a los administradores gestionar el acceso de usuarios a los recursos sobre dicha red. Además, los servicios de directorio actúan como una capa de abstracción entre los usuarios y los recursos compartidos.

Un servicio de directorio no debería confundirse con el repositorio de directorio, que es la base de datos la que contiene la información sobre los objetos de nombrado gestionada por el servicio de directorio. En el caso del modelo de servicio de directorio distribuido en X.500, se usa uno o más espacios de nombre (árbol de objetos) para formar el servicio de directorio. El servicio de directorio proporciona la interfaz de acceso a los datos que se contienen en unos o más espacios de nombre de directorio. La interfaz del servicio de directorio es la encargada de gestionar la autenticación de los accesos al servicio de forma segura, actuando como autoridad central para el acceso a los recursos de sistema que manejan los datos del directorio.

Como base de datos, un servicio del directorio está altamente optimizado para lecturas y proporciona alternativas avanzadas de búsqueda en los diferentes atributos que se puedan asociar a los objetos de un directorio. Los datos que se almacenan en el directorio son definidos por un esquema extensible y modificable. Los servicios de directorio utilizan un modelo distribuido para almacenar su información y esa información generalmente está replicada entre los servidores que forman el directorio.

HFSSistema de Archivos Jerárquico o Hierarquical File System (HFS), es un sistema de archivos desarrollado por Apple Inc. para su uso en computadores que corren Mac OS. Originalmente diseñado para ser usado en disquetes y discos duros, también es posible encontrarlo en dispositivos de solo-lectura como los CD-ROMs. HFS es el nombre usado por desarrolladores, pero en la documentación de usuarios el formato es referido como estándar Mac Os para diferenciarlo de su sucesor HFS+ el cual es llamado Extendido Mac Os.

Page 30: SO Unidad 5

El sistema de ficheros jerárquico divide un volumen en bloques lógicos de 512 bytes. Estos bloques lógicos están agrupados juntos en bloques de asignación (allocation blocks) que pueden contener uno o más bloques lógicos dependiendo del tamaño total del volumen. HFS usa un valor de dirección de 16 bits para los bloques de asignación, limitando el número de bloques de asignación a 65.536.

Hay cinco estructuras que conforman un volumen HFS:

1. Bloques lógicos 0 y 1 del volumen son los bloques de arranque, que contienen la información de inicio del sistema. Por ejemplo, el nombre del archivo de sistema y de shell (por lo general el Finder) que se cargan al iniciar.

2. Bloque lógico 2 contiene el directorio MDB (Master Directory Block). Este define una amplia variedad de datos sobre el volumen en sí, por ejemplo la fecha y timestamp de cuando se creó el volumen, la localización de las otras estructuras de volumen, como el volumen del mapa de bits o el tamaño de las estructuras lógicas como los bloques de asignación. También existe un duplicado del MDB llamado Alternate MDB ubicado en el extremo opuesto del volumen en el penúltimo bloque lógico. Este se destina principalmente para uso de utilidades de disco y es solo actualizado cuando el Catalog File o el Extents Overflow File aumentan de tamaño.

3. Bloque lógico 3 es el bloque de inicio del volumen del mapa de bits (Volume Bitmap), que mantiene un registro de los bloques de asignación que están en uso y de los que están libres. Cada bloque de asignación en el volumen es representado por un bit en el mapa: si el bit está activado el bloque está en uso; si esta desactivado el bloque está libre para ser utilizado. Dado que el

Page 31: SO Unidad 5

Volume Bitmap debe tener un bit para representar cada bloque de asignación, su tamaño se determina por el tamaño del volumen.

4. El Extent Overflow File (Archivo de desbordamiento) es un árbol B* que contiene extensiones que registran que bloques de asignación están asignados a que archivos, una vez que las tres extensiones iniciales del Catalog File están usadas. Las versiones posteriores también añaden la capacidad de que el Extent Overflow File registre los bloques defectuosos, para evitar que el sistema de ficheros intente asignar un bloque defectuoso a un archivo.

5. El Catalog File es otro árbol B* que contiene registros para todos los archivos y directorios almacenados en el volumen. Almacena cuatro tipos de registros. Cada fichero consiste en un File Thread Record y un File Record mientras que cada directorio consiste en un Directory Thread Record y un Directory Record. Los archivos y directorios en el Archivo de catálogo están identificados por un único CNID (Catalog Node ID).

Un File Thread Record almacena sólo el nombre del fichero y el CNID de su directorio padre.

Un File Record almacena diversidad de metadatos sobre el fichero incluyendo su CNID, el tamaño del fichero, tres timestamps (cuando se creó el fichero, la última modificación y cuando se realizó la última copia de seguridad), el primer fichero extendido de los datos y los recursos y punteros al primer dato del archivo y registros de recursos extendidos en el Extent Overflow File. El File Record también almacena dos campos de 16 Bytes que son usados por el Finder para almacenar atributos sobre el archivo incluyendo cosas como su código de creación, el tipo de código, si la ventana del fichero debería aparecer y su localización sin la ventana.

Un Directory Thread Record almacena sólo el nombre del directorio y el CNID de su directorio padre.

Un Directory Record almacena datos como el número de ficheros almacenados en el directorio, el CNID del directorio, tres marcas de tiempo (momento de creación, última modificación y último back up). Como el File Record, también almacena dos campos de 16 Bytes para usar por el Finder. Estos elementos almacenados como la anchura y altura y las coordenadas x e y para la ventana usada para mostrar los contenidos del directorio el modo del display (vista con iconos, vista en forma de lista, etc) de la ventana y la posición de la barra de desplazamiento de la ventana.

HPFS

Page 32: SO Unidad 5

El sistema de archivos HPFS se presentó por primera vez con OS/2 1.2 para permitir un mejor acceso a los discos duros mayores que estaban apareciendo en el mercado. Además, era necesario que un nuevo sistema de archivos extendiera el sistema de nomenclatura, la organización y la seguridad para las crecientes demandas del mercado de servidores de red. HPFS mantiene la organización de directorio de FAT, pero agrega la ordenación automática del directorio basada en nombres de archivo. Los nombres de archivo se extienden hasta 254 caracteres de doble byte. HPFS también permite crear un archivo de "datos" y atributos especiales para permitir una mayor flexibilidad en lo que se refiere a admitir otras convenciones de nomenclatura y seguridad. Además, la unidad de asignación cambia de clústeres a sectores físicos (512 bytes), lo que reduce el espacio en disco perdido.

Bajo HPFS, las entradas del directorio contienen más información que bajo FAT. Además del archivo de atributo, esto incluye información sobre la fecha y la hora de modificación, creación y acceso. En lugar de señalar al primer clúster del archivo, bajo HPFS las entradas del directorio señalan a FNODE. FNODE puede contener los datos del archivo, o punteros que pueden señalar a datos del archivo o a otras estructuras que señalarán a datos del archivo.

HPFS intenta asignar la mayor cantidad de datos de un archivo en sectores contiguos como sea posible. De esta forma aumenta la velocidad al hacer un procesamiento secuencial de un archivo.

HPFS organiza una unidad en una serie de bandas de 8 MB y siempre que sea posible un archivo está contenido dentro de una de estas bandas. Entre cada una de estas bandas hay 2K mapas de bits de asignación, que hacen un seguimiento de los sectores dentro de una banda que se han asignado y que no se han asignado. La creación de bandas aumenta el rendimiento porque el cabezal de la unidad de disco no tiene que volver a la parte superior lógica (normalmente el cilindro 0) del disco, sino al mapa de bits de asignación de banda más cercano, para determinar dónde se almacenará un archivo.

Además, HPFS incluye un par de objetos de datos especiales únicos:

Bloque súperEl Bloque súper se encuentra en el sector lógico 16 y contiene un puntero al FNODE del directorio raíz. Uno de los mayores peligros de utilizar HPFS es que si el Bloque súper se pierde o resulta dañado debido a un sector defectuoso, también se pierde o resulta dañado el contenido de la partición, incluso aunque el resto de la unidad esté bien. Sería posible recuperar los datos de la unidad copiando todo a otra unidad con un sector 16 en buen estado y volviendo a generar el Bloque súper. Sin embargo, es una tarea muy compleja.

Bloque de reservaEl Bloque de reserva se encuentra en el sector lógico 17, y contiene una tabla de "revisiones" y el Bloque de directorio de reserva. Bajo HPFS, cuando se detecta un

Page 33: SO Unidad 5

sector defectuoso, la entrada de las "revisiones" se utiliza para señalar lógicamente a un sector en buen estado existente en lugar de al sector defectuoso. Esta técnica para controlar los errores de escritura se conoce como revisión.

La revisión es una técnica en la que si se produce un error debido a un sector defectuoso, el sistema de archivos mueve la información a otro sector diferente y marca el sector original como no válido. Todo ello se realiza de forma transparente para cualquier aplicación que esté realizando operaciones de E/S de disco (es decir, la aplicación nunca sabe que hubo problemas con el disco duro). Al utilizar un sistema de archivos que admite revisiones se eliminarán mensajes de error como el de FAT "¿Desea interrumpir, reintentar o cancelar"? que aparece cuando se encuentra un sector defectuoso.

Nota: la versión de HPFS incluida con Windows NT no admite revisiones.

Ventajas de HPFSHPFS es el mejor para las unidades comprendidas entre 200 y 400 MB. Para obtener una explicación más detallada de las ventajas de HPFS, vea lo siguiente:

"Guía de conceptos y diseño" de Microsoft Windows NT Server, capítulo 5, sección titulada "Elección de un sistema de archivos"

Kit de recursos de Microsoft Windows NT Workstation 4.0, capítulo 18, "Elección de un sistema de archivos"

"Guía de recursos" del Kit de recursos de Microsoft Windows NT Server 4.0, capítulo 3, sección titulada "Qué sistema de archivos utilizar en cada volumen"

Desventajas de HPFSDebido a la sobrecarga que implica HPFS, no es una opción muy eficaz para un volumen de menos de 200 MB aproximadamente. Además, con volúmenes mayores de unos 400 MB, habrá una ligera degradación del rendimiento. No puede establecer seguridad en HPFS bajo Windows NT.

HPFS sólo es compatible con las versiones 3.1, 3.5 y 3.51 de Windows NT. Windows NT 4.0 no puede tener acceso a particiones HPFS.

Para conocer otras desventajas adicionales de HPFS, vea lo siguiente:

"Guía de conceptos y diseño" de Microsoft Windows NT Server, capítulo 5, sección titulada "Elección de un sistema de archivos"

Kit de recursos de Microsoft Windows NT Workstation 4.0, capítulo 18, "Elección de un sistema de archivos"

"Guía de recursos" del Kit de recursos de Microsoft Windows NT Server 4.0, capítulo 3, sección titulada "Qué sistema de archivos utilizar en cada volumen"

Como estas constituido el nombre de un archivo

Page 34: SO Unidad 5

Es la cadena de texto que se utiliza para designar a un archivo. El nombre de un archivo consta de dos partes: nombre y extensión (opcional).

Originalmente, en computadoras con sistemas DOS, los archivos estaban limitados a 8 caracteres de nombre y 3 caracteres de extensión. Luego, a partir de Windows 95, se permitieron nombres de archivos de hasta 255 caracteres.

En sistemas Windows no se distingue entre mayúsculas y minúsculas en los nombres de archivos, en cambio, en UNIX esta distinción sí se hace, por lo tanto "nombre.txt" no es el mismo archivo que "Nombre.txt".

En los nombres de archivos, no se pueden utilizarse ciertos caracteres. Esto depende del sistema operativo y del sistema de archivos. En Windows, en general, no están permitidos los siguientes caracteres en cualquier parte del nombre de archivo: / : ” | = < > |

Tampoco está permito empezar o terminar nombres de archivos con espacios.

En sistemas DOS, Windows 3.1 y algunos UNIX, no se permite el uso de espacios y otros caracteres.

En tanto, la extensión de un archivo puede (o no) decir el tipo de contenido (formato) de un fichero. Las extensiones extensiones de archivos pueden ser:* Extensiones de archivos audio.* de archivos de imagen.* de archivos comprimidos.* de archivos de texto.* de archivos del sistema.* de archivos de video.

Esta formado por el nombre del archivo y la extensión.

Ejemplo

"Documento_word.docx" (Archivo de Microsoft Word 2007)

Si el archivo tienes mas extensiones al final el que vale es el último.

Ejemplo

Page 35: SO Unidad 5

"Mi cancion.mp3.zip" (No es una canción MP3, en un archivo comprimido en ZIP)

Si el archivo no tiene extensión, es un archivo desconocido que no lo puede abrir ningun programa.

Atributos de archivo

Un archivo posee atributos que varían de un sistema operativo a otro:

o Nombre: El nombre s imbólico del archivo es la única información que se mantiene en forma legible para los humanos. En algunos SO hacen distinción e mayúsculas y minúsculas

o Tipo: Esta información es necesaria para aquellos sistemas que se soportan diferentes tipos.

o Ubicación: Es un apuntador a un dispositivo y a la ubicación del archivo en dicho dispositivo.

o Tamaño: Este atributo se incluyen el tamaño actual del archivo y posiblemente el tamaño máximo permitido.

o Protección: Información de control de acceso que determina quien puede leer, escribir, ejecutar, etc. el archivo.

o Hora: Esta información se puede mantener para 1) la creación, 2) la última modificación y 3) el último uso. Estos datos pueden ser útiles para protección, seguridad y control de acceso.