Está en la página 1de 13

UNIDAD 5. SISTEMA DE ARCHIVOS 5.

1 CONCEPTO En computacin, un sistema de archivos es un mtodo para el almacenamiento y organizacin de archivos de computadora y los datos que estos contienen, para hacer ms fcil la tarea encontrarlos y accederlos. Los sistemas de archivos son usados en dispositivos de almacenamiento como discos duros y CD-ROM e involucran el mantenimiento de la localizacin fsica de los archivos. Ms formalmente, un sistema de archivos es un conjunto de tipo de datos abstractos que son implementados para el almacenamiento, la organizacin jerrquica, la manipulacin, el acceso, el direccionamiento y la recuperacin de datos. Los sistemas de archivos comparten mucho en comn con la tecnologa de las bases de datos. En general, los sistemas operativos tienen su propio sistema de archivos. En ellos, los sistemas de archivos pueden ser representados de forma textual (ej.: el shell de DOS) o grficamente (ej.: Explorador de archivos en Windows) utilizando un gestor de archivos. El software del sistema de archivos se encarga de organizar los archivos (que suelen estar segmentados fsicamente en pequeos bloques de pocos bytes) y directorios, manteniendo unregistro de qu bloques pertenecen a qu archivos, qu bloques no se han utilizado y las direcciones fsicas de cada bloque. Los sistemas de archivos pueden ser clasificados en tres categoras: sistemas de archivo de disco, sistemas de archivos de red y sistemas de archivos de propsito especial. Ejemplos de sistemas de archivos son: FAT, UMSDOS, NTFS, UDF, ext2, ext3, ext4, Reiser FS?, XFS, etc. Y el termino de wikipedia Los sistemas de archivos (filesystem en ingls), estructuran la informacin guardada en una unidad de almacenamiento (normalmente un disco duro de una computadora), que luego ser representada ya sea textual o grficamente utilizando

un gestor de archivos. La mayora de los sistemas operativos poseen su propio sistema de archivos. Lo habitual es utilizar dispositivos de almacenamiento de datos que permiten el acceso a los datos como una cadena de bloques de un mismo tamao, a veces llamados sectores, usualmente de 512 bytes de longitud. El software del sistema de archivos es responsable de la organizacin de estos sectores en archivos y directorios y mantiene un registro de qu sectores pertenecen a qu archivos y cules no han sido utilizados. En la prctica, un sistema de archivos tambin puede ser utilizado para acceder a datos generados dinmicamente, como los recibidos a travs de una conexin de red (sin la intervencin de un dispositivo de almacenamiento). Los sistemas de archivos tradicionales proveen mtodos para crear, mover, renombrar y eliminar tanto archivos como directorios, pero carecen de mtodos para crear, por ejemplo, enlaces adicionales a un directorio o archivo (enlace duro en Unix) o renombrar enlaces padres (.. en Unix). El acceso seguro a sistemas de archivos bsicos puede estar basado en los esquemas de lista de control de acceso o capacidades. Las listas de control de acceso hace dcadas que demostraron ser inseguras, por lo que los sistemas operativos experimentales utilizan el acceso por capacidades. Los sistemas operativos comerciales an funcionan con listas de control de acceso.

5.2 Nocion Archivo Real y Virtual La mayora de usuarios de computadoras comprendern con mucha facilidad el trmino archivo relacionndolo directamente con ejemplos tales como los archivos de texto que se pueden generar con cualquier procesador de texto. Una caracterstica 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 lnea corta de texto ocupa menos espacio en disco que esa misma lnea copiada cien veces. Sin embargo al hablar de archivos virtualeslas cosas son diferentes, pues este tipo de archivos no consumen espacio en el disco duro, sino que se almacenan en la memoria voltil, es decir la aquel tipo de memoria

cuya informacin se pierde al interrumpirse el flujo de corriente elctrica, esto es, la memoria RAM. Un archivo virtual (Fig.5.2.1), es un archivo de uso temporal que es utilizado por los procesos del sistema mientras se estn ejecutando dichos procesos. Estos archivos se crean durante la ejecucin de un sistema y los utiliza para el almacenamiento de informacin, intercambio y organizacin mientras se ejecuta el sistema (Fig. 5.2.2), su tamao es muy variable y terminan al detener la ejecucin del sistema, muchos de ellos son borrados, por ejemplo, los archivos *.tmp Archivo Real (Fig. 5.2.4) : Es un objeto que contiene programas, datos o cualquier otro elemento.

Un archivo se muestra de manera real, en la informacin del espacio que ocupa en un disco duro o sistema de almacenamiento, en otras palabras su tamao en bytes. 5.3 Componentes Sistema de Archivos Los componentes del sistema de archivos y de programacin permiten interactuar con los recursos del sistema de archivos y de directorio y provocar eventos en intervalos programados. Las instancias del componente File System Watcher permiten inspeccionar cambios en los directorios y archivos y reaccionar cuando se producen. El componente Timer permite configurar programaciones simples de produccin de eventos y ejecutar el procesamiento asociado. 5.4 Organizacion Logica y Fisica Sistema de Archivos En esta parte vamos a usar el trmino organizacin de archivos para referirnos a la estructura lgica de los registros determinada por la manera en que se accede a ellos. La organizacin fsica del archivo en almacenamiento secundario depende de la estrategia de agrupacin y de la estrategia de asignacin de archivos. Para seleccionar una organizacin de archivos hay diversos criterios que son importantes:

Acceso Rpido para recuperar la informacin Fcil actualizacin

Economa de almacenamiento Mantenimiento simple Fiabilidad para asegurar la confianza de los datos

Acceso Rpido para recuperar la informacin Fcil actualizacin Economa de almacenamiento Mantenimiento simple Fiabilidad para asegurar la confianza de los datos

<p> >>>>>>> La prioridad relativa de estos criterios va a depender de las aplicaciones que va a usar el archivo. El nmero de alternativas de organizacin 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 categoras o puede implementarse como una combinacin de estas: <<<<<<< Pilas Archivos secuenciales Archivos Secuenciales indexados Archivos indexados Archivos directos o de dispersin

5.5 Mecanismos de Acceso a los Archivos Tipos: Metodo de Acceso Secuencial: El acceso secuencial significa que un grupo de elementos es accedido en un predeterminado orden secuencial. El acceso secuencial es a veces la nica forma de acceder a los datos, por ejemplo en una cinta de cassette. Tambin puede ser el mtodo de acceso elegido, para simplemente procesar una secuencia de datos en orden. Fuente Metodo de Acceso Secuencial Indexado: Mtodo de acceso secuencial indexado. Mtodo comn de acceso a disco que almacena datos en forma secuencial, al tiempo que mantiene un ndice de campos claves para todos los registros en el archivo para acceso directo. El orden secuencial sera el ms comnmente usado para el procesamiento por lotes y la impresin (nmero de cuenta, nombre, etc.).

Metodo de Acceso Indexado: Los archivos secuenciales indexados retienen la limitacin del archivo secuencial: la eficacia en el procesamiento se limita al basado en un nico campo del archivo. Cuando es necesario buscar un registro basndose en algn otro atributo distinto del campo clave ambas formas de archivo secuencial no son adecuadas. En algunas aplicaciones esta flexibilidad es deseable. Para alcanzar esta flexibilidad, se necesita una estructura que utilice mltiples ndices, uno para cada tipo de campo que pueda ser objeto de la bsqueda. Se suelen utilizar dos tipos de ndices. Un ndice exhaustivo contiene una entrada para cada registro del archivo principal. Otro ndice parcial contendr entradas a los registros donde este el campo de inters. Con registros de longitud variable, algunos registros no contendrn todos los campos. Los archivos indexados son muy utilizados en aplicaciones donde es critica la oportunidad de la informacin y donde los datos son rara vez procesados de forma exhaustiva. Metodo de Acceso Hashed: Pendiente la definicion. Otras Definiciones Creo Mas Mejores y Exactas ya que se Refiere al Sistema de Archivos. Fuente Bibliografica Archivos Secuenciales La forma mas comn de estructura de archivo es el archivo secuencial. En este tipo de archivo, un formato fijo es usado para los registros. Todos los registros tienen el mismo tamao, constan del mismo numero de campos de tamao fijo en un orden particular. Como se conocen la longitud y la posicin de cada campo, solamente los valores de los campos se necesitan almacenarse; el nombre del campo y longitud de cada campo son atributos de la estructura de archivos. Un campo particular, generalmente el primero de cada registro se conoce como el campo clave. El campo clave identifica unvocamente al registro. as, los valores de la clave para registros diferentes son siempre diferentes.

Los archivos secuenciales son tpicamente utilizados en aplicaciones de proceso de lotes Y son ptimos para dichas aplicaciones si se procesan todos los registros. La organizacin secuencias de archivos es la nica que es fcil de usar tanto en disco como en cinta. Para las aplicaciones interactivas que incluyen peticione s o actualizaciones de registros individuales, los archivos secuenciales ofrecen un rendimiento pobre. Normalmente un archivo secuencial se almacena en bloques, en un orden secuencial simple de los registros. La organizacin fsica del archivo en una cinta o disco se corresponde exactamente con la ubicacin lgica del archivo. En este caso, el procedimiento para ubicar los nuevos registros en un archivo de pila separado, llamado archivo de registro (log file) o archivo de transacciones. Peridicamente, se realiza una actualizacin por lotes que mezcla el archivo de registro con el archivo maestro para producir un nuevo archivo en secuencia correcta de claves. Archivos Secuenciales indexados Un mtodo popular para superar las desventajas de los archivos secuenciales es el del archivo secuencias indexado. El archivo secuencial indexado mantiene las caracteristicas bsicas de los archivos secuenciales: los registros estn organizados en una secuencia basada en un campo. Dos caractersticas se aaden: un ndice del archivo para soportar los accesos aleatorios y un archivo de desbordamiento ( overflow ). El indice provee una capacidad de bsqueda para llegar rapidamente a las proximidades de un registro deseado. El archivo de desbordamiento (overflow) es similar al archivo de registro usado en un archivo secuencial, pero esta intregrado de forma que los registros del archivo de desbordamiento se ubican en la direccin de un puntero desde si registro precedente. En la estructura secuencial indexada mas simple, se usa un solo nivel de indexacion. El indice, en este caso, es un archivo secuencial simple. Cada registro del archivo indice tiene dos campos: un campo clave, que es el mismo que el campo clave del archivo principal y un puntero al archivo principal. Para encontrar un campo especifico se busca en el indice hasta encontrar el valor mayor de la clave que es igual o precede al valor deseado de la clave. La busqueda continua en el archivo principal a partir de la posicin indicada por el puntero. Archivos Indexados

Los archivos secuenciales indexados retienen la limitacin del archivo secuencial: la eficacia en el procesamiento se limita al basado en un nico campo del archivo. Cuando es necesario buscar un registro basndose en algn otro atributo distinto del campo clave ambas formas de archivo secuencial no son adecuadas. En algunas aplicaciones esta flexibilidad es deseable. Para alcanzar esta flexibilidad, se necesita una estructura que utilice mltiples ndices, uno para cada tipo de campo que pueda ser objeto de la bsqueda. Se suelen utilizar dos tipos de ndices. Uno indice exhaustivo contiene una entrada par cada registro del archivo principal. Otro ndice parcial contendr entradas a los registros donde este el campo de inters. Con registros de longitud variable, algunos registros no contendran todos los campos. Los archivos indexados son muy utilizados en aplicaciones donde es critica la oportunidad de la informacion y donde los datos son rara vez procesados de forma exhaustiva. Archivos Directos o de Dispersin (Hashed) Los archivos directos explotan la capacidad de los discos para acceder directamente a cualquier bloque de direccin conocida. Como en los archivos secuenciales y secuenciales indexados, se requiere un campo clave en cada registro. Sin embargo, aqu no hay concepto de ordenamiento secuencial.

5.6 Manejo Espacio Memoria Secundaria 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 (agrupacin) Vector de bits

El espacio libre en disco es frecuentemente implementado como un mapa de bits, donde cada sector es representado por un bit y si el sector es libre el bit es cero de lo contrario est asignado. Lista ligada Existe una cabecera en la que se tiene la direccin del primer sector vacio, ese sector a su vez, tiene un apuntador al siguiente sector, y as sucesivamente hasta que se encuentre una marca indicando que ya no hay espacio libre. Por conteo Aqu, por cada conjunto de sectores contiguos que estn vacios, se tiene por cada apuntador, un nmero de inicio y el tamao del grupo de sectores vacios. Mtodos de asignacin de espacio en disco Un mtodo de asignacin de espacio en disco determina la manera en que un Sistema Operativo controla los lugares del disco ocupados por cada archivo de datos. * Contigua * Ligada * Indexada Asignacin contigua Este mtodo consiste en asignar el espacio en disco de tal manera que las direcciones de todos los bloques correspondientes a un archivo definen un orden lineal. Asignacin ligada En este mtodo, 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. Asignacin indexada

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.

5.7 Modelo Jerarquico Memoria Secundaria Tanenbaum y Woodhull (1997) definen lo siguiente en su investigacin:

La cuestin de la cantidad es simple, cuanto ms memoria haya disponible, ms podr utilizarse. La velocidad ptima para la memoria es la velocidad a la que el procesador puede trabajar, de modo que no haya tiempos de espera entre clculo y clculo, utilizados para traer operandos o guardar resultados. En suma, el costo de la memoria no debe ser excesivo, para que sea factible construir un equipo accesible.

Como puede esperarse los tres factores compiten entre s, por lo que hay que encontrar un equilibrio. Las siguientes afirmaciones son vlidas:

1. A menor tiempo de acceso mayor coste 2. A mayor capacidad mayor coste 3. A mayor capacidad menor velocidad.

Se busca entonces contar con capacidad suficiente de memoria, con una velocidad que sirva para satisfacer la demanda de rendimiento y con un coste que no sea excesivo. Gracias a un principio llamado cercana de referencias, es factible utilizar una mezcla de los distintos tipos y lograr un rendimiento cercano al de la memoria ms rpida.

5.8 Mecanismos Recuperacion Caso de Falla Debido a que los archivos se mantienen tanto en memoria principal como en el disco, debemos asegurarnos de que un fallo del sistema no de por resultado la perdida de datos o inconsistencia en los mismos. La destruccin de la informacin, ya sea accidental o intencional, es una realidad y tiene distintas causas:

Fallas de hardware y de software Fenmenos meteorolgicos atmosfricos Fallas en el suministro de energa Incendios e inundaciones Robos, vandalismo (incluso terrorismo)

Esta posible destruccin de la informacin debe ser tenida en cuenta por: Los sistemas operativos en general Los sistemas de archivos en particular

Una tcnica muy usada para asegurar la disponibilidad de los datos es realizar respaldos peridicos: 1. Hacer con regularidad una o ms copias de los archivos y colocarlas en lugar seguro 2. Todas las actualizaciones realizadas luego del ltimo respaldo pueden perderse Otra tcnica es pasar todas las transacciones a un archivo, copindolas en otro disco: Genera una redundancia que puede ser costosa

En caso de fallas en el disco principal, puede reconstruirse todo el trabajo perdido si el disco de reserva no se da tambin Tambin existe la posibilidad del respaldo incremental: Durante una sesin de trabajo los archivos modificados quedan marcados. Cuando un usuario se retira del sistema (deja de trabajar), un proceso del sistema efecta el respaldo de los archivos marcados. Se debe tener presente que es muy difcil garantizar una seguridad absoluta de los archivos. El mtodo correcto de manejar fallos consiste bsicamente en detectarlos a tiempo y de forma correcta. La inclusin de equipos de test en el sistema es esencial para mantener esta capacidad de monitorizacin.

En cualquier caso, la cada total o parcial del sistema se puede subsanar en parte si hay puntos de restauracin del sistema (chkpt). Esta posibilidad aumenta la disponibilidad de recuperacin en caso de fallos. Mecanismos de Proteccin Dominios de Proteccin Muchos objetos del sistema necesitan proteccin, tales como la cpu, segmentos de memoria, unidades de disco, terminales, impresoras, procesos, archivos, bases de datos, etc. 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): Cada pareja determina: o Un objeto. o Un subconjunto de las operaciones que se pueden llevar a cabo en l. 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 proteccin: Existe una coleccin de objetos a los que puede tener acceso. Cada objeto tiene cierto conjunto de derechos. Los procesos pueden alternar entre los dominios durante la ejecucin. 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 : Los renglones son los dominios. Las columnas son los objetos.

Cada elemento de la matriz contiene los derechos correspondientes al objeto en ese dominio, por ej.: leer, escribir, ejecutar.

Listas Para Control de Acceso Las matrices de proteccin son muy grandes y con muchos lugares vacos Desperdician espacio de almacenamiento.

Existen mtodos prcticos que almacenan solo los elementos no vacos por filas o por columnas. La lista de control de acceso (ACL: access control list): Asocia a cada objeto una lista ordenada con: Todos los dominios que pueden tener acceso al objeto. La forma de dicho acceso (ej: lectura , grabacin (w), ejecucin (x)).

Una forma de implementar las ACL consiste en: Asignar tres bits (r, w, x) para cada archivo, para: o El propietario, el grupo del propietario y los dems usuarios. Permitir que el propietario de cada objeto pueda modificar su ACL en cualquier momento: o Permite prohibir accesos antes permitidos. Posibilidades La matriz de proteccin tambin puede dividirse por renglones Se le asocia a cada proceso una lista de objetos a los cuales puede tener acceso. Se le indican las operaciones permitidas en cada uno. Esto define su dominio. La lista de objetos se denomina lista de posibilidades y los elementos individuales se llaman posibilidades. Cada posibilidad tiene: Un campo tipo: Indica el tipo del objeto.

Un campo derechos: Mapa de bits que indica las operaciones bsicas permitidas en este tipo de objeto.

Un campo objeto:o Apuntador al propio objeto (por ej.: su nmero de nodoi).