jueves, 27 de diciembre de 2012

Sistemas Operativos Unidad 4 y 5



Sistemas de Archivos

Sistemas de Archivos: Es la manera en que una computadora organiza, da nombre, almacena y manipula los archivos.

¿Qué es?

Aunque los discos rígidos pueden ser muy chicos, aun así contienen millones de bits, y por lo tanto necesitan organizarse para poder ubicar la información. Éste es el propósito del sistema de archivos. Recuerde que un disco rígido se conforma de varios discos circulares que giran en torno a un eje. Las pistas (áreas concéntricas escritas a ambos lados del disco) se dividen en piezas llamadas sectores (cada uno de los cuales contiene 512 bytes). El formateado lógico de un disco permite que se cree un sistema de archivos en el disco, lo cual, a su vez, permitirá que un sistema operativo (DOS, WINDOWS, UNIX,..) use el espacio disponible en disco para almacenar y utilizar archivos. El sistema de archivos se basa en la administración de clústers, la unidad de disco más chica que el sistema operativo puede administrar.

Un clúster consiste en uno o más sectores. Por esta razón, cuanto más grande sea el tamaño del clúster, menores utilidades tendrá que administrar el sistema operativo...

Por el otro lado, ya que un sistema operativo sólo sabe administrar unidades enteras de asignación (es decir que un archivo ocupa un número entero de clústers), cuantos más sectores haya por clúster, más espacio desperdiciado habrá.

En realidad, la elección de un sistema de archivos depende en primer lugar del sistema operativo que esté usando. Generalmente, cuanto más reciente sea el sistema operativo, mayor será el número de archivos que admita. Por esto, se necesita contar con FAT16 en DOS y en las primeras versiones de Windows 95.
Empezando por Windows 95 OSR2, se puede elegir entre los sistemas de archivos FAT16 y FAT32. Si el tamaño de la partición es mayor a 2GB, se excluyen los sistemas de archivos FAT y usted necesitará usar el sistema FAT32 (o modificar el tamaño de la partición).
Por debajo de este límite, se recomienda FAT16 para particiones con una capacidad menor a 500Mb. De lo contrario, es preferible usar FAT32.
En el caso de Windows NT (hasta la versión 4) usted puede elegir entre el sistema FAT16 y NTFS. No se admite FAT32. Por lo general, se recomienda el sistema NTFS ya que brinda una mayor seguridad y un mejor rendimiento que el sistema FAT. Actualmente, Microsoft recomienda el uso de una partición de tipo FAT pequeña (de entre 250 y 500MB) para el sistema operativo, para poder iniciar el sistema desde un disquete DOS de arranque en caso de que ocurra una catástrofe, y el uso de una segunda partición para almacenar sus datos.
En Windows NT5, hay muchas más opciones ya que acepta particiones FAT16, FAT32 y NTFS. Nuevamente, se recomienda el sistema de archivos más reciente (NTFS 5), ya que ofrece muchas más opciones que los sistemas FAT. Por las mismas razones mencionadas anteriormente, aún puede elegir una partición del tipo FAT.



Cuando coexisten varios sistemas operativos en la misma máquina, la elección de un sistema de archivos es un gran problema. Debido a que el sistema de archivos está estrechamente ligado al sistema operativo, cuando existen varios sistemas operativos, usted debe elegir un sistema de archivos para cada uno, teniendo en cuenta que es posible que deba acceder a los datos de un sistema operativo desde otro. Una solución sería la de usar particiones FAT para todos los sistemas, asegurándose de que las particiones no sean mayores a 2 GB. La solución más apropiada sería la de utilizar, para cada SO, una partición cuyo sistema de archivos sea el que mejor se adapte a ésta y utilizar una partición FAT16 dedicada para que los diferentes sistemas operativos compartan datos.

Un sistema de archivos son los métodos y estructuras de datos que un sistema operativo utiliza para seguir la pista de los archivos de un disco o partición; es decir, es la manera en la que se organizan los archivos en el disco. El término también es utilizado para referirse a una partición o disco que se está utilizando para almacenamiento, o el tipo del sistema de archivos que utiliza. Así uno puede decir “tengo dos sistemas de archivo” refiriéndose a que tiene dos particiones en las que almacenar archivos, o que uno utiliza el sistema de “archivos extendido”, refiriéndose al tipo del sistema de archivos.

La diferencia entre un disco o partición y el sistema de archivos que contiene es importante. Unos pocos programas (incluyendo, razonablemente, aquellos que crean sistemas de archivos) trabajan directamente en los sectores crudos del disco o partición; si hay un archivo de sistema existente allí será destruido o corrompido severamente. La mayoría de programas trabajan sobre un sistema de archivos, y por lo tanto no utilizarán una partición que no contenga uno (o que contenga uno del tipo equivocado).

Antes de que una partición o disco sea utilizada como un sistema de archivos, necesita ser iniciada, y las estructura de datos necesitan escribirse al disco. Este proceso se denomina construir un sistema de archivos.

La mayoría de los sistemas de archivos UNIX tienen una estructura general parecida, aunque los detalles exactos pueden variar un poco. Los conceptos centrales son superbloquenodo-ibloque de datosbloque de directorio, y bloque de indirección. El superbloque tiene información del sistema de archivos en conjunto, como su tamaño (la información precisa aquí depende del sistema de archivos). Un nodo-i tiene toda la información de un archivo, salvo su nombre. El nombre se almacena en el directorio, junto con el número de nodo-i. Una entrada de directorio consiste en un nombre de archivo y el número de nodo-i que representa al archivo. El nodo-i contiene los números de varios bloques de datos, que se utilizan para almacenar los datos en el archivo. Sólo hay espacio para unos pocos números de bloques de datos en el nodo-i; en cualquier caso, si se necesitan más, más espacio para punteros a los bloques de datos son colocados de forma dinámica. Estos bloques colocados dinámicamente son bloques indirectos; el nombre indica que para encontrar el bloque de datos, primero hay que encontrar su número en un bloque indirecto.

Los sistemas de archivos UNIX generalmente nos permiten crear un agujero en un archivo (esto se realiza con la llamada al sistema lseek(); compruebe su página de manual), lo que significa que el sistema de archivos simplemente intenta que en un lugar determinado en el archivo haya justamente cero bytes, pero no existan sectores del disco reservados para ese lugar en el archivo (esto significa que el archivo utilizará un poco menos de espacio en disco). 

Esto ocurre frecuentemente en especial para pequeños binarios, librerías compartidas de Linux, algunas bases de datos, y algunos pocos casos especiales. (los agujeros se implementan almacenando un valor especial en la dirección del bloque de datos en el bloque indirecto o en el nodo-i. Esta dirección especial indica que ningún bloque de datos está localizado para esa parte del archivo, y por lo tanto, existe un agujero en el archivo).

Linux soporta una gran cantidad de tipos diferentes de sistemas de archivos.

minix
El más antiguo y supuestamente el más fiable, pero muy limitado en características (algunas marcas de tiempo se pierden, 30 caracteres de longitud máxima para los nombres de los archivos) y restringido en capacidad (como mucho 64 MB de tamaño por sistema de archivos).
xia
Una versión modificada del sistema de archivos minix que eleva los límites de nombres de archivos y tamaño del sistema de archivos, pero por otro lado no introduce características nuevas. No es muy popular, pero se ha verificado que funciona muy bien.
ext3
El sistema de archivos ext3 posee todas las propiedades del sistema de archivos ext2. La diferencia es que se ha añadido una bitácora (journaling). Esto mejora el rendimiento y el tiempo de recuperación en el caso de una caída del sistema. Se ha vuelto más popular que el ext2.
ext2
El más sistema de archivos nativo Linux que posee la mayor cantidad de características. Está diseñado para ser compatible con diseños futuros, así que las nuevas versiones del código del sistema de archivos no necesitará rehacer los sistemas de archivos existentes.
ext
Una versión antigua de ext2 que no es compatible en el futuro. Casi nunca se utiliza en instalaciones nuevas, y la mayoría de la gente que lo utilizaba han migrado sus sistemas de archivos al tipo ext2.

reiserfs

Un sistema de archivos más robusto. Se utiliza una bitácora que provoca que la pérdida de datos sea menos frecuente. La bitácora es un mecanismo que lleva un registro por cada transacción que se va a realizar, o que ha sido realizada. Esto permite al sistema de archivos reconstruirse por sí sólo fácilmente tras un daño ocasionado, por ejemplo, por cierres del sistema inadecuados.

 Adicionalmente, existe soporte para sistemas de archivos adicionales ajenos, para facilitar el intercambio de archivos con otros sistemas operativos. Estos sistemas de archivos ajenos funcionan exactamente como los propios, excepto que pueden carecer de características usuales UNIX , o tienen curiosas limitaciones, u otros inconvenientes.

msdos

Compatibilidad con el sistema de archivos FAT de MS-DOS (y OS/2 y Windows NT).

umsdos

Extiende el dispositivo de sistema de archivos msdos en Linux para obtener nombres de archivo largos, propietarios, permisos, enlaces, y archivos de dispositivo. Esto permite que un sistema de archivos msdos normal pueda utilizarse como si fuera de Linux, eliminando por tanto la necesidad de una partición independiente para Linux.
vfat
Esta es una extensión del sistema de archivos FAT conocida como FAT32. Soporta tamaños de discos mayores que FAT. La mayoría de discos con MS Windows son vfat.

iso9660

El sistema de archivos estándar del CD-ROM; la extensión popular Rock Ridge del estándar del CD-ROM que permite nombres de archivo más largos se soporta de forma automática.
nfs
Un sistema de archivos de red que permite compartir un sistema de archivos entre varios ordenadores para permitir fácil acceso a los archivos de todos ellos.

smbfs

Un sistema de archivos que permite compartir un sistema de archivos con un ordenador MS Windows. Es compatible con los protocolos para compartir archivos de Windows.

hpfs

El sistema de archivos de OS/2.
sysv

EL sistema de archivos de Xenix, Coherent y SystemV/386..
La elección del sistema de archivos a utilizar depende de la situación. Si la compatibilidad o alguna otra razón hacen necesario uno de los sistemas de archivos no nativos, entonces hay que utilizar ése. Si se puede elegir libremente, entonces lo más inteligente sería utilizar ext3, puesto que tiene todas las características de ext2, y es un sistema de archivos con bitácora.

Un “Archivo” es un conjunto de registros relacionados
El “Sistema de Archivos” es un componente importante de un S. O. y suele contener:
  • Métodos de acceso” relacionados con la manera de acceder a los datos almacenados en archivos.
  • “Administración de archivos” referida a la provisión de mecanismos para que los archivos sean almacenados, referenciados, compartidos y asegurados.
  • “Administración del almacenamiento auxiliar” para la asignación de espacio a los archivos en los dispositivos de almacenamiento secundario.
  • “Integridad del archivo” para garantizar la integridad de la información del archivo.
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.
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.
Muchos S. O. soportan varios tipos de archivos, por ej.: archivos regulares, directorios, archivos especiales de caracteres, archivos especiales de bloques, etc., donde:
  • Los Archivos Regulares son aquellos que contienen información del usuario.
  • Los Directorios son archivos de sistema para el mantenimiento de una estructura del sistema de archivos.
  • Los Archivos Especiales de Caracteres:
    • Tienen relación con la e / s.
    • Se utilizan para modelar dispositivos seriales de e / s (terminales, impresoras, redes, etc.).
  • Los Archivos Especiales de Bloques se utilizan para modelar discos.

Cada archivo tiene:
  • Su nombre y datos.
  • Elementos adicionales llamados atributos, que varían considerablemente de sistema a sistema.
Algunos de los posibles atributos de archivo son:
  • “Protección”: quién debe tener acceso y de qué forma.
  • “Contraseña”: contraseña necesaria para acceder al archivo.
  • “Creador”: identificador de la persona que creó el archivo.
  • “Propietario”: propietario actual.
  • “Bandera exclusivo - para - lectura”: 0 lectura / escritura, 1 para lectura exclusivamente.
  • “Bandera de ocultamiento”: 0 normal, 1 para no exhibirse en listas.
  • “Bandera de sistema”: 0 archivo normal, 1 archivo de sistema.
  • “Bandera de biblioteca”: 0 ya se ha respaldado, 1 necesita respaldo.
  • “Bandera ascii / binario”: 0 archivo en ascii, 1 archivo en binario.
  • “Bandera de acceso aleatorio”: 0 solo acceso secuencial, 1 acceso aleatorio.
  • “Bandera temporal”: 0 normal, 1 eliminar al salir del proceso.
  • “Banderas de cerradura”: 0 no bloqueado, distinto de 0 bloqueado.
  • “Longitud del registro”: número de bytes en un registro.
  • “Posición de la llave”: ajuste de la llave dentro de cada registro.
  • “Longitud de la llave”: número de bytes en el campo llave.
  • “Tiempo de creación”: fecha y hora de creación del archivo.
  • “Tiempo del último acceso”: fecha y hora del último acceso al archivo.
  • “Tiempo de la última modificación”: fecha y hora de la última modificación al archivo.
  • “Tamaño actual”: número de bytes en el archivo.
  • “Tamaño máximo”: tamaño máximo al que puede crecer el archivo.


No hay comentarios:

Publicar un comentario