Вы находитесь на странице: 1из 7

ADMINISTRACION Y GESTION DE ARCHIVOS ARCHIVO Son unidades que permiten almacenar informacin a largo plazo en discos o medios externos.

Pueden almacenar una gran cantidad de informacin, esta informacin sobrevive a la terminacin del proceso que la usa (no se borra), y tiene la capacidad de que varios procesos pueden acceder a ellos al mismo tiempo. El SO administra los archivos por medio de una parte que se denomina sistema de archivos. Los procesos pueden leerlos y escribirlos. CARACTERISTICAS DE LOS ARCHIVOS Nombre: Cuando un proceso crea un archivo le asigna un nombre. Cuando el proceso termina, el archivo contina existiendo y otros programas pueden acceder a l utilizando su nombre. Cada SO tiene su forma de nombrar archivos. Pueden contener letras, nmeros y algunos caracteres especiales. Los sistemas de archivos reconocen nombres de hasta 255 caracteres. Estn formados por el nombre distintivo y su extensin, separados por un punto. La extensin indica con que aplicacin fue creado el archivo. Windows reconoce las extensiones, y cuando se abre un archivo se inicia con el programa asociado a su extensin. En Linux no es necesario. Windows no discrimina entre maysculas y minsculas. Linux no. Estructura: Como estn estructurados internamente. Hay tres tipos: o Sucesin de bits: Conjunto de bits uno detrs de otro, no tiene estructura. El SO no sabe que contiene el archivo, lo nico que ve son bits, el significado se lo dan los programas. Usado tanto por Linux como por Windows. Ofrece flexibilidad. El SO no ayuda pero tampoco estorba. o Sucesin de registros: Un archivo es una sucesin de registros de longitud fija, todos los registros tenan el mismo tamao (80 caracteres). La idea de que sea una sucesin de registros viene de que cuando se lee un archivo se devuelve un registro y en la escritura se sobrescribe o anexa un registro. Usado por mainframe. o rbol de registros: El archivo estaba dividido en registros de longitud variable, tenan una parte para datos y un campo k que se conoce como clave. El rbol esta ordenado segn el campo clave, con el objetivo de poder hallar con rapidez una clave en particular. Tipos: Hay 4 tipos de archivos: o Archivos regulares o normales: Son los que usamos nosotros, contienen informacin del usuario. Pueden ser ASCII o binarios. Los ASCII consisten en lneas de texto, tienen solamente caracteres pero ningn tipo de procesamiento. Esto nos brinda dos ventajas, primero que los puedo editar o leer con cualquier visualizador de texto; y segundo que se exhiben y se imprimen tal cual son, van mostrando los caracteres que tienen. Cada lnea de texto termina con un carcter de retorno y en otros se usa el carcter de salto de lnea. Los BINARIOS tienen una estructura o formato interno que se lo da la aplicacin que lo creo. Solo pueden ser visualizados con la aplicacin que los genero o Directorios o carpetas: Son archivos del sistema que sirven para mantener la estructura del sistema de archivos. Se usan para contener otros archivos, directorios y carpetas. o Archivos especiales de caracteres: se relacionan con la E/S y se utilizan para modelar dispositivos de E/S que utilizan flujos de caracteres. Por ejemplo: impresora. o Archivos especiales de bloques: Se utilizan para modelar discos. Todos los archivos se representan por dispositivos de bloque, leo o escribo bloques de datos. Por ejemplo: disco. o Archivos ejecutables: tienen un formato especial. Este archivo tiene 5 secciones: encabezado (nmero mgico, tamao del texto, tamao de los datos, tamao del BSS, tamao de la tabla de smbolos, punto de entrada, banderas), texto, datos, bits de reubicacin y tabla de smbolos. Acceso: o Secuencial: un proceso puede leer todos los bytes o registros en un archivo en orden, empezando desde el principio, pero no puede efectuar saltos ni leerlos fuera de orden. Sin embargo, pueden

rebobinarse para poder leerlos todas las veces que fueran necesarias. Convenientes para el uso de cintas magnticas. Tienen acceso lento, no se pueden leer de manera aleatoria. o Aleatorio: archivos cuyos bytes o registros se pueden leer en cualquier orden. Tambin se puede tener acceso a los registros por clave, no por posicin. Puedo acceder a cualquier parte del archivo sin tener que pasar por toda la parte anterior. Esto se puede hacer gracias a una operacin llamada SEEK. Tambin se puede leer de manera secuencial si se desea. Atributos (metadatos): Informacin adicional de un archivo, adems de su nombre (el nombre no es un atributo). Cada sistema de archivos define sus atributos. Estn ubicados en una ficha de registros. Ejemplos: nombre, extensin, fecha, hora, permisos, tamao, nmero de enlaces, tipo, propietario, si es de slo lectura, etc. Operaciones: o Create: el archivo se crea sin datos. Anunciar que va a haber un archivo y establecer alguno de sus atributos. Se reserva espacio en el disco para el archivo. o Delete: eliminar un archivo. Borrarlo para desocupar espacio en el disco. En Windows lo manda a la papelera, en Linux lo elimina directamente. o Open: abrir un archivo. El SO lleva a la RAM los atributos del archivo, tablas y las direcciones de los bloques de disco. o Close: cerrar un archivo para liberar espacio en el disco, se quitan los atributos y las tablas. o Read: para poder ver el contenido de un archivo. Determino cuantos datos voy a leer y en donde voy a colocar esos datos. o Write: se escriben datos en un archivo en la posicin actual. Si la posicin actual es el fin del archivo, aumenta el tamao del archivo. Si esta en un punto intermedio, los datos existentes se sobrescriben. o Append: me permite agregar datos al final del archivo. o Seek: me permite desplazar el puntero en un archivo a la posicin que deseo, es implementar el acceso aleatorio. Una vez ejecutada esta llamada, podrn leerse datos en esa posicin, o escribir en ella. o Get attributes: me permite obtener los atributos de un archivo. En Linux es el comando ls -l o Set attributes: me permite modificar los atributos de un archivo o Rename: me permite cambiar el nombre de un archivo existente. DIRECTORIOS Para llevar el registro de los archivos se utilizan directorios o carpetas. CARACTERISTICAS DE LOS DIRECTORIOS Sistemas de directorios de un solo nivel: la forma ms simple de un sistema de directorios es tener un directorio que contenga todos los archivos, denominado directorio raz. Sistemas de directorios jerrquicos: es una forma de agrupar archivos relacionados. Con este esquema, puede haber tantos directorios como se necesite para agrupar los archivos en formas naturales. Para agrupar los archivos de forma lgica lo que se necesita es una jerarqua de directorios (rbol de directorios). Cada usuario puede tener tantos directorios como necesite para agrupar sus archivos en categoras naturales. La mayora tienen dos entradas especiales en cada directorio . Y ... punto se refiere al directorio actual; punto punto se refiere a su padre. Rutas de acceso: o Nombre de ruta absoluta: consiste en el camino que debe seguirse para llegar del directorio raz al archivo. Son independientes del directorio actual donde estoy parado, el nombre de ruta absoluta siempre funciona, sea cual sea el directorio de trabajo. Los nombres de ruta absoluta parten del directorio raz y son nicos. o Nombre de ruta relativa: este se usa junto con el concepto de directorio de trabajo (o directorio actual). Un usuario puede designar un directorio como su directorio de trabajo actual, en cuyo caso

todos los nombre de ruta que no comiencen en el directorio raz se consideraran relativos al directorio de trabajo Operaciones: o Create: para crear directorios. El directorio se crea vacio. Automticamente se crea el directorio punto y punto punto. o Delete: se elimina un directorio. Solo es posible eliminar un directorio vacio. Un directorio que solo contiene punto y punto punto se considera vacio, pues por lo regular no pueden borrarse esas entradas. Existe una forma para borrar recursivamente (si contiene algo) o Opendir: los directorios pueden leerse, es necesario abrirlo antes. Se traen todos los atributos del disco de ese directorio y se los mantiene en una tabla. o Closedir: una vez que fue ledo un directorio se lo debe cerrar para desocupar espacio en las tablas internas. o Readdir: para leer el contenido de un directorio (entradas) que pueden ser archivos o ms directorios. o Rename: cambiar el nombre de un directorio o Link: el enlazado es la tcnica que permite a un archivo aparecer en ms de un directorio. Esta llamada al sistema especifica un archivo existente y un nombre de ruta, y crea un enlace entre el archivo existente y el nombre especificado por la ruta. As, el mismo archivo podra aparecer en mltiples directorios. Cada vez que se crea un archivo en un directorio se lo enlaza. Crear una entrada en un directorio que apunta a un determinado archivo (en realidad a su nodo). Se usan para compartir archivos, se pueden acceder de distintos lados. o Unlink: se elimina una entrada de directorio. Si el archivo que se est desenlazando solo est presente en un directorio, se elimina del sistema de archivos. Si est presente en mltiples directorios, solo se elimina el nombre de ruta especificado. IMPLEMENTACION DE SISTEMAS DE ARCHIVOS Los implementadores estn interesados en la forma en que se almacenan los archivos y directorios, cmo se administra el espacio en el disco y cmo hacer que todo funcione con eficiencia y confiabilidad. Disco Lgico

Disco Fsico La cuestin ms importante al implementar el almacenamiento de archivos es mantener un registro acerca de qu bloques de disco van con cul archivo. DISTRIBUCION DE LOS SISTEMAS DE ARCHIVOS Los sistemas de archivos se almacenan en discos. Los discos se pueden dividir en una o ms particiones, con sistemas de archivos independientes en cada particin. El sector 0 del disco se conoce como el MBR (Registro Maestro de Arranque) y se utiliza para arrancar la computadora. El final de MBR contiene la tabla de particiones, la cual proporciona las direcciones de inicio y de fin de cada particin. Una de las particiones de la tabla se marca como activa. Cuando se arranca la computadora, el BIOS lee y ejecuta el MBR. Lo primero que hace el programa MBR es localizar la particin activa, leer su primer bloque, conocido como bloque de arranque, y ejecutarlo. El programa en el bloque de arranque carga el sistema operativo contenido en esa particin.

Disco completo Parte administrativa MBR Parte Trabajo

Tabla de particiones Particin de disco


Bloque de arranque

Particiones del disco (bloques)

Super bloque

Administracin de espacio libre

Nodos-i

Directorio raz

Archivos y directorios

Asignacin contigua: almacena cada archivo como una serie contigua de bloques de disco. Cada archivo inicia al principio de un bloque nuevo, de modo que si el archivo A en realidad ocupara 3.5 bloques, se desperdiciara algo de espacio al final del ltimo bloque. Ventajas: es simple de implementar porque para llevar el control de donde estn los bloques de un archivo basta con recordar dos nmeros: la direccin en disco del primer bloque y el numero de bloques del archivo. Dado el nmero del primer bloque, se podr hallar el nmero de cualquier otro bloque mediante una simple suma. Por otro lado, el desempeo de lectura es excelente ya que, el archivo completo se puede leer del disco en una slo operacin, slo se necesita un desplazamiento del brazo para buscar el primer bloque. Desventaja: con el transcurso del tiempo los discos se fragmentan: cuando se quita un archivo sus bloques se liberan dejando una serie de bloques libres en el disco. Al principio esta fragmentacin no es un problema, ya que cada nuevo archivo se puede escribir al final del disco, despus del anterior. Sin embargo, en un momento dado el disco se llenar y ser necesario compactarlo, lo cual es en extremo costoso (porque requiere copiar todos los bloques que estn despus del hueco) o habr que reutilizar el espacio libre de los huecos. Para reutilizar el espacio hay que mantener una lista de huecos, cuando se cree un nuevo archivo ser necesario conocer su tamao final para poder elegir un hueco correcto y colocarlo. El problema es que en algunos casos no se puede precisar con anterioridad el tamao del archivo. Lista ligada: mantener cada archivo como una lista enlazada de bloques de disco. La primera palabra de cada bloque se utiliza como apuntador al siguiente. El resto del bloque es para los datos. No se pierde espacio debido a la fragmentacin del disco. Para la entrada del directorio slo le basta con almacenar la direccin de disco del primer bloque. El resto se puede encontrar a partir de ella. Aunque la lectura secuencial del archivo es directa, el acceso aleatorio es en extremo lento. Adems, la cantidad de almacenamiento de datos en un bloque ya no es una potencia de dos. Tener un tamao peculiar es menos eficiente debido a que muchos programas leen y escriben en bloques, cuyo tamao es una potencia de dos. Lista ligada y un ndice: tomamos la palabra del apuntador de cada bloque de disco y la colocamos en una tabla en memoria (ndice). Dicha tabla se llama FAT. Utilizando esta organizacin, el bloque completo est disponible para los datos. El acceso aleatorio es mucho ms sencillo, la entrada de directorio necesita mantener slo un nmero que es el nmero del bloque inicial. Desventaja: toda la tabla debe estar en memoria todo el tiempo para que funcione. Nodos-i: asociar con cada archivo una estructura de datos i-nodo (nodo ndice), la cual lista los atributos y las direcciones de disco de los bloques del archivo. Dado el i-nodo, entonces es posible encontrar todos los

bloques del archivo. Ventaja: el i-nodo necesita estar en memoria slo cuando est abierto el archivo correspondiente. Por lo general, este arreglo es muchas ms pequeo que el espacio ocupado por la tabla FAT. La razn es que contener la lista enlazada de todos los bloques de disco es proporcional al tamao del disco. En cambio, el esquema de i-nodo requiere un arreglo en memoria cuyo tamao sea proporcional al nmero de archivos que pueden estar abiertos a la vez. Problema: si cada i-nodo tiene un nmero fijo de direcciones de disco, qu ocurre cuando un archivo crece ms all de este lmite. Solucin: reservar la ltima direccin de disco no para un bloque de datos, sino para la direccin de un bloque que contenga ms direcciones de bloques de disco. IMPLANTACION DE DIRECTORIOS Antes de poder leer un archivo, este debe leerse. Cuando se abre un archivo, el sistema operativo utiliza el nombre de la ruta suministrado por el usuario para localizar la entrada de directorio. Esta entrada provee la informacin necesaria para encontrar los bloques de disco. Dependiendo del sistema, esta informacin puede ser la direccin de disco de todo el archivo o el nmero del i-nodo. Cada sistema de archivos mantiene atributos de archivo. Una posibilidad es almacenarlos directamente en la entrada de directorio: consiste en una lista de entradas de tamao fijo, una por archivo, que contienen un nombre de archivo, una estructura de los atributos del archivo y una o ms direcciones de disco que indique en dnde se encuentran los bloques de disco. Para los sistemas que utilizan i-nodos se almacenan los atributos en los i-nodos en vez de hacerlo en las entradas de directorio. En el caso de que el nombre del archivo sea largo y variable se puede establecer un lmite en la longitud del nombre, pero esto desgraciadamente desperdicia mucho espacio de directorio, ya que muchos archivos tienen nombres cortos. Una alternativa es renunciar a la idea de que todas las entradas de directorio tienen un tamao fijo. En este caso, cada entrada contiene una porcin fija que empieza con una longitud de entrada y despus va seguida de datos con formato fijo. Este encabezado de longitud fija va seguido por el nombre del archivo, sin importar la longitud que tenga. Una desventaja es que cuando se elimina un archivo, en su lugar queda un hueco de tamao variable dentro del directorio, dentro del cual el siguiente archivo a introducir puede que no quepa. En este caso es factible compactar el directorio ya que se encuentra por completa en la memoria. Otro problema es que una sola entrada en el directorio puede abarcar varias pginas, por lo que puede ocurrir un fallo de pginas al leer el nombre de un archivo. Otra manera de manejar los nombres de longitud variable es hacer que las mismas entradas de directorio sean de longitud fija y mantener los nombres de los archivos juntos al final del directorio. Ventaja: siempre que se remueva un archivo habr lugar el prximo que se introduzca all. ARCHIVOS COMPARTIDOS Enlaces duros: o Registran como propietario al usuario creador del archivo. o Slo existe un archivo en disco. o Un nuevo enlace duro implica agregar una nueva entrada en la tabla de directorio para el mismo archivo. o Si se modifica un archivo, se modifican todos los enlazados. o El archivo no se borra del disco hasta que no se eliminen todos sus enlaces. o Los enlaces duros deben estar en el mismo sistema de archivos. o Los archivos enlazados tienen el mismo i-nodo. Enlaces blandos (simblicos): o Las acciones se realizan sobre el archivo original. o No se usan los bits de permisos. o El archivo original puede borrarse y el enlace simblico apuntar a un archivo que no existe. o Cuando el propietario lo elimina el archivo se destruye. o Identifican al archivo al que apuntan.

o o o o

Permiten dar a un archivo el nombre de otro. Son como accesos directos. Puede apuntar a un archivo de otro sistema de archivos. Los archivos enlazados tienen distinto i-nodo.

ADMINISTRACION DEL ESPACIO EN DISCO Tamao del bloque: tener un tamao de bloque grande significa que cada archivo ocupa un cilindro completo y que los pequeos archivos desperdician una gran cantidad de espacio de disco. Un tamao de bloque pequeo significa que la mayora de los archivos abarcarn varios bloques y por ende, necesitan varias bsquedas y retrasos rotacionales para leerlos, lo cual reduce el rendimiento. Histricamente los sistemas de archivos han elegido tamaos en el rango de 1 KB y 4 KB. Podra ser mejor incrementar el tamao de bloque y aceptar el espacio en disco desperdiciado puesto que hoy en da el espacio ya no es un problema. Registro de bloques libres: una vez que se ha elegid tamao de bloque, lo siguiente es determinar cmo levar registro de los bloques libres. Hay dos mtodos. El primer mtodo consiste en utilizar una lista enlazada de bloques de disco, donde cada bloque contiene tantos nmeros de bloques de disco libres como pueda. En general se utilizan bloques libres para mantener la lista de bloques libres. La otra tcnica es el mapa de bits. Un disco con n bloques requiere un mapa de bits con n bits. Los bloques libres se representan con 1 y los bloques asignados con 0. El mapa de bits requiere menos espacio, ya que utiliza 1 bit por bloque, en comparacin con los 32 bits que se necesitan en el modelo de lista enlazada. En el mejor de los casos, un disco prcticamente vaco podra representarse mediante dos nmeros: la direccin del primer bloque libre seguida de la cuenta de bloques libres. Pero si es disco se fragmenta demasiado es menos eficiente llevar esta cuenta. Cuota de disco: los sistemas operativos multiusuarios proporcionan un mecanismo para imponer las cuotas de disco. La idea es que el administrador del sistema asigne a cada usuario una cantidad mxima de archivos y bloques y que el sistema operativo se asegure de que los usuarios no excedan sus cuotas. Cuando un usuario abre un archivo, los atributos y las direcciones de disco se localizan y se colocan en una tabla de archivos abiertos en la memoria principal. Entre los atributos hay una entrada que indica quin es el propietario. Cualquier aumento en el tamao del archivo se tomar de la cuota del propietario. Una segunda tabla contiene el registro de cuotas para cada usuario con un archivo actualmente abierto, aun si el archivo fue abierto por alguien ms. Cuando todos los archivos se cierran, el registro se escribe de vuelta en el archivo de cuotas. Cuando se crea una nueva entrada en la tabla de archivos abiertos, se introduce en ella un apuntador al registro de cuotas del propietario. Cada vez que se agrega un bloque a un archivo se incrementa el nmero total de bloques que se cargan al propietario y se realiza una verificacin con los lmites duro y suave. Se puede exceder el lmite suave, pero nunca el lmite duro. Un intento de agregar datos a un archivo cuando se ha llegado al lmite de bloques duro producir un error. Cuando un usuario trata de iniciar sesin, el sistema examina el archivo de cuotas para ver si el usuario ha excedido el lmite suave para el nmero de archivos o el nmero de bloques de disco. Si se ha violado uno de los lmites, se muestra una advertencia y la cuenta de advertencias restantes se reduce en uno. Si la cuenta llega a 0, no se le permite al usuario iniciar sesin. Para obtener permiso de iniciar sesin otra vez tendr que hablar con el administrador del sistema. Este mtodo tiene la propiedad de que los usuarios pueden sobrepasar sus lmites suaves durante una sesin, siempre y cuando eliminen el exceso cuando cierren su sesin. Los lmites duros nunca se pueden exceder. IMPLEMENTACION DE SISTEMA DE ARCHIVOS EN WINDOWS: NTFS Caractersticas: Recuperacin: es capaz de reconstruir volmenes de disco y devolverlos a un estado consistente. Cada cambio significativo se trata como una accin atmica que se realiza de forma completa o no se lleva a cabo en absoluto. NTFS utiliza almacenamiento redundante para datos del sistema de archivo crticos.

Seguridad: un archivo abierto se implementa como un objeto archivo con un descriptor de seguridad que define sus tributos de seguridad. Discos y archivos grandes: soporta discos y archivos muy grandes de forma ms eficiente que la mayora del resto de los sistemas de archivos. Mltiples flujos de datos: los contenidos reales de un archivo se tratan como un flujo de bytes. En NTFS es posible definir mltiples flujos de datos para un nico archivo. Facilidad general de indexacin: asocia una coleccin de atributos con cada archivo. El conjunto de descripciones de archivo en el sistema de gestin de archivos se organiza como una base de datos relaciona, de forma que los archivos se pueden indexar (buscar) por cualquier atributo. Estructura de archivos: ~ Sector: la unidad fsica de almacenamiento ms pquela en el disco. ~ Agrupacin: uno o ms sectores contiguos. ~ Volumen: una particin lgica de un disco, formada por una o ms agrupaciones y utilizada por un sistema de archivos para asignar espacio. Un volumen est formado por informacin del sistema de archivos, una coleccin de archivos y cualquier especio restante adicional sin asignar del volumen que se puede asignar a los archivos. Estructura de un volumen NTFS
Sector de arranque de particin Tabla maestra de archivos Archivos de sistema rea de archivos

Sector de arranque de particin: contiene informacin sobre la estructura del volumen, las estructuras del sistema de archivos as como la informacin de arranque de inicio y el cdigo. Tabla maestra de archivos (MFT): contiene informacin sobre todos los archivos y carpetas de este volumen NTFS as como la informacin sobre espacio disponible no asignado. MFT es un lista de todos los contenidos de este volumen NTFS, organizada como un conjunto de filas en una estructura de base de datos relacional. Archivos de sistema: contiene archivos del sistema. rea de archivos.

Вам также может понравиться