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

SISTEMAS DE ARCHIVOS LINUX

PRESENTADO POR: Luis Alfonso Puerto Toloza Francisco Sanabria

PRESENTADO A:

Nelson Acero Fino

UNIVERSITARIA DE INVESTIGACION Y DESARROLLO-UDI BUCARAMANGA 2011

INTRODUCCIN

En el presente trabajo se realiza una exposicin funcional de los sistemas de archivos Linux, ya que nos interesa conocer cmo funcionan en el sistema operativo Linux; igualmente se observaran las caractersticas y aplicaciones. Los sistemas de archivos linux tienen mucha relevancia en el mundo de la de transmisin de archivos en el sistema

informtica y las telecomunicaciones debido a la preocupacin en lo referente a la seguridad informtica ,los protocolos usuario que lo requiera . operativo linux ,esto con el fin de hacer una herramienta segura y efectiva al

OBJETIVOS Conocer los diferentes sistemas de archivos Linux existentes y sus caractersticas Identificar los diferentes sistemas de archivos Linux Seleccionar el sistema de archivo Linux adecuado para determinada aplicacin

y y

1-EXT2
ext2 (second extended filesystem o "segundo sistema de archivos extendido") es un sistema de archivos para el kernel Linux. Fue diseado originalmente por Rmy Card. La principal desventaja de ext2 es que no implementa el registro por diario (en ingls Journaling) que s implementa su sucesor ext3, el cual es totalmente compatible. ext2 fue el sistema de ficheros por defecto de las distribuciones de Linux Red Hat Linux, Fedora Core y Debian hasta ser reemplazado recientemente por su sucesor ext3. El sistema de ficheros tiene un tipo de tabla FAT de tamao fijo, donde se almacenan los i-nodos. Los i-nodos son una versin muy mejorada de FAT, donde un puntero i-nodo almacena informacin del archivo (ruta o path, tamao, ubicacin fsica). En cuanto a la ubicacin, es una referencia a un sector del disco donde estn todos y cada una de las referencias a los bloques del archivo fragmentado. Estos bloques son de tamao especificable cuando se crea el sistema de archivos, desde los 512 bytes hasta los 4 kB, lo cual asegura un buen aprovechamiento del espacio libre con archivos pequeos. El espacio en ext2 est dividido en bloques, y los bloques organizados en grupos, anlogamente los grupos de cilindro del sistema de archivos Unix. Esto se hace para reducir la fragmentacin externa y reducir al mnimo el nmero de bsquedas de disco cuando se lee una gran cantidad de datos consecutivos. Cada bloque contiene un supe bloque grupo, el grupo de bloques de mapa de bits, mapa de bits i-nodo, seguidos por los bloques de datos reales. El supe bloque contiene informacin importante que es crucial para el arranque del sistema operativo , con lo que las copias se realizan en cada bloque de grupo de cada bloque en el sistema de archivos. Sin embargo, slo la primera copia de la misma, que se encuentra en el primer bloque del sistema de archivos, se utiliza en el arranque. El grupo descriptor almacena el valor del bloque de mapa de bits, mapa de bits inodo y el comienzo de la tabla de i-nodos por cada bloque de grupo y stos, a su vez, se almacena en un grupo descriptor tabla. Dentro de cada inodo existe la siguiente informacin:

y y y y y

Nmero de inodo Tipo de fichero Propietario de dicho fichero Permisos del fichero Fecha de creacin del mismo

La razn de algunos lmites en el sistema de archivos ext2 son el formato de archivo de los datos y el kernel del sistema operativo. Mayormente estos factores se determinar una vez que cuando el sistema de archivos es creado. El tamao de bloque de 8 KB slo son posibles en arquitectura alfa por defecto. Tambin hay muchos programas que no puede manejar archivos de ms de 2 GB. El lmite de subnivel de directorios es de unos 32768. Si el nmero de archivos en un directorio superior a 10000 a 15000 archivos, el usuario normalmente ser advertido de que las operaciones pueden durar mucho tiempo. El lmite terico a la cantidad de archivos en un directorio es de 1,3 1020, aunque este no es relevante en situaciones practicas.

2-EXT 3
ext3 (third extended filesystem o "tercer sistema de archivos extendido") es un sistema de archivos con registro por diario (journaling). Es el sistema de archivo ms usado en distribuciones Linux, aunque en la actualidad est siendo remplazado por su sucesor, ext4. La principal diferencia con ext2 es el registro por diario. Un sistema de archivos ext3 puede ser montado y usado como un sistema de archivos ext2. Otra diferencia importante es que ext3 utiliza un rbol binario balanceado (rbol AVL) e incorpora el asignador de bloques de disco Orlov Ventajas Aunque su velocidad y escalabilidad es menor que sus competidores, como JFS ,ReiserF o XFS, tiene la ventaja de permitir actualizar de ext2 a ext3 sin perder los datos almacenados ni tener que formatear el disco. Tiene un menor consumo de CPU y est considerado ms seguro que otros sistemas de ficheros en Linux dada su relativa sencillez y su mayor tiempo de prueba. El sistema de archivo ext3 agrega a ext2 lo siguiente:

y y y

Registro por diario ndices en rbol para directorios que ocupan mltiples bloques. Crecimiento en lnea.

Lmites de tamao Ext3 tiene dos lmites de tamao distintos. Uno para archivos y otro para el tamao del sistema de archivos entero. El lmite del tamao del sistema de archivos es es 231 1 Desventajas Funcionalidad Como ext3 est hecho para ser compatible con ext2, la mayora de las estructuras del archivacin son similares a las del ext2. Por ello, ext3 carece de muchas caractersticas de los diseos ms recientes como las extensiones, la localizacin dinmica de los inodos, y la sublocalizacin de los bloques. Hay un lmite de 31998 subdirectorios por cada directorio, que se derivan de su lmite de 32 links por inodo. Ext3, como la mayora de los sistemas de archivos actuales de Linux, no puede ser chequeado por el fsck mientras el sistema de archivos est montado para la escritura. Si se intenta chequear un sistema de ficheros que est montado puede detectar falsos errores donde los datos no han sido volcados al disco todava, y corromper el sistema de archivos al intentar arreglar esos errores.

Fragmentacin No hay herramienta de desfragmentacin online para ext3 que funcione en nivel del sistema de archivos. Existe un desfragmentador offline para ext2, e2defrag, pero requiere que el sistema de archivos ext3 sea reconvertido a ext2 antes de iniciarse. Pero dependiendo de los bits encendidos en el sistema, e2defrag puede destruir datos. No sabe cmo tratar la mayora de las nuevas caractersticas de ext3. Hay herramientas de usuario para desfragmentar como Shake y Defrag. Shake trabaja localizando para todo el archivo como una operacin, lo que generalmente causa que el localizador encuentre espacio continuo en el disco. Tambin intenta escribir archivos usados al mismo tiempo que otros. Defrag trabaja copiando cada archivo sobre s mismo. De todas formas solo funcionan si el sistema de archivos est razonablemente vaco. No existe una verdadera herramienta de desfragmentacin para ext3. Como se viene diciendo, la gua de administracin de Linux dice: "Los modernos sistemas de archivos de Linux mantienen la fragmentacin al mnimo manteniendo los bloques de un archivo juntos, aunque no puedan ser guardados en sectores consecutivos. Algunos

sistemas de archivos, como ext3, localizan efectivamente los bloques libres ms cercanos a otros en el archivo. Por ello no es necesario preocuparse por la fragmentacin en un sistema de Linux" Mientras ext3 es ms resistente a la fragmentacin que Fat, nada evita que los sistemas ext3 se puedan fragmentar con el tiempo. Consecuentemente el sucesor de ext3, ext4, incluye una utilidad de desfragmentacin y soporte para extensiones (regiones contiguas del fichero). Compresin El soporte para la compresin est disponible como un parche no oficial para ext3. Este parche es un porte directo de e2compr pero necesita un mayor desarrollo ya que todava no implementa el journaling. El actual parche es llamado e3compr y puede ser bajado aqu: No hay comprobacin en el diario Ext3 no hace la suma de verificacin cuando est escribiendo en el diario. Si barrier = 1 no est habilitado como una opcin de montaje, y si el hardware est escribiendo fuera de orden, se corre el riesgo de una corrupcin muy amplia del sistema de archivos en caso de que haya un fallo repentino del hardware. Ext3 en Windows Aunque Windows no tiene un soporte nativo para ext2 ni ext3, pueden instalarse drivers para poder acceder a ese tipo de sistemas de archivos. Se puede instalar en todos los sistemas de windows con arquitectura x86. Este driver hace que se puedan montar las particiones sin tener que usar programas aparte. Nos muestra el sistema de archivos como si fuese una particin ms dentro de windows. Para bajarse el driver:. Otra opcin es usar un programa para poder ver y copiar los archivos que hay en una particin con ext3 y ext2 pero no monta la particin. El programa es Explore2fs y nos permite:
y y y y y y y y y

Lectura ext2 Lectura ext3 Arrastrar y soltar Soporte de disquetes de 1.44Mb LS120 Floppy Disk Support* Soporte de discos ZIP & Jazz Soporte de discos USB & CF Soporte de CDROM Exporta archivo como binario

y y y y y y y

Exporta archivo como texto Exportar directorio Ver y ejecutar archivos Soporte para discos duros grandes Soporte para archivos grandes LVM2, deteccin de ReiserFS Soporte Unicode UTF8

Est disponible para las versiones de windows: * Windows 95 * Windows 98 * Windows 98SE * Windows ME * Windows NT 4.0 * Windows 2000 * Windows XP * Windows XP SP2 * Windows Server 2003

4-EXT 4
ext4 (fourth extended filesystem o cuarto sistema de archivos extendido) es un sistema de archivos con registro por diario, anunciado el 10 de octubre de 2006 por Andrew Morton, como una mejora compatible de ext3. El 25 de diciembre de 2008 se public el kernel Linux 2.6.28, que elimina ya la etiqueta de "experimental" de cdigo de ext4. Las principales mejoras son:
y y y y

Soporte de volmenes de hasta 1024 PiB. Soporte aadido de extent. Menor uso del CPU. Mejoras en la velocidad de lectura y escritura

Las mejoras adicionales con respecto al EXT4 son Sistema de archivos de gran tamao El sistema de archivos ext4 es capaz de trabajar con volmenes de hasta 1 exbibyte y ficheros de tamao de hasta 16TiB. Extents

Los extents han sido introducidos para reemplazar al tradicional esquema de bloques usado por los sistemas de archivos ext2/3. Un extent es un conjunto de bloques fsicos contiguos, mejorando el rendimiento al trabajar con ficheros de gran tamao y reduciendo la fragmentacin. Un extent simple en ext4 es capaz de mapear hasta 128MiB de espacio contiguo con un tamao de bloque igual a 4KiB.2 Compatibilidad hacia adelante y hacia atrs El sistema de archivos ext3 es compatible adelante con ext4, siendo posible montar un sistema de archivos ext3 como ext4 y usarlo transparentemente. Del mismo modo ext4 es parcialmente compatible hacia atrs con ext3 ya que puede ser montado como una particin ext3 con la excepcin de que si la particin ext4 usa extents, se pierde esta posibilidad. Extents estn configurados por defecto desde la versin del kernel 2.6.23. Anteriormente, esta opcin requera ser activada explcitamente (por ejemplo mount /dev/sda1 /mnt/point -t ext4dev -o extents).

Asignacin persistente de espacio en el disco El sistema de archivos ext4 permite la reserva de espacio en disco para un fichero. La actual metodologa consiste en rellenar el fichero en el disco con ceros en el momento de su creacin. Esta tcnica no es ya necesaria con ext4, ya que una nueva llamada del sistema "preallocate()" ha sido aadida al kernel Linux para uso de los sistemas de archivos que permitan esta funcin. El espacio reservado para estos ficheros quedar garantizado y con mucha probabilidad ser contiguo. Esta funcin tiene tiles aplicaciones en streaming y bases de datos. Asignacin retrasada de espacio en el disco Ext4 hace uso de una tcnica de mejora de rendimiento llamada Allocate-on-flush, tambin conocida como reserva de memoria retrasada. Consiste en retrasar la reserva de bloques de memoria hasta que la informacin est a punto de ser escrita en el disco, a diferencia de otros sistemas de archivos, los cuales reservan los bloques necesarios antes de ese paso. Esto mejora el rendimiento y reduce la fragmentacin al mejorar las decisiones de reserva de memoria basada en el tamao real del fichero. Lmite de 32000 subdirectorios superado En ext3 el nivel de profundidad en subdirectorios permitido estaba limitado a 32000. Este lmite ha sido aumentado a 64000 en ext4, permitiendo incluso ir ms all de este lmite (haciendo uso de "dir_nlink"). Para permitir un rendimiento

continuo, dada la posibilidad de directorios mucho ms grandes, htree est activado por defecto en ext4. Esta funcin est implementada desde la versin 2.6.23. htree est tambin disponible en ext3 cuando la funcin dir_index est activada. Journal checksumming ext4 usa checksums en el registro para mejorar la fiabilidad, puesto que el journal es uno de los ficheros ms utilizados en el disco. Esta funcin tiene un efecto colateral beneficioso: permite de forma segura evitar una lectura/escritura de disco durante el proceso de registro en el journal, mejorando el rendimiento ligeramente. La tcnica del journal checksumming est inspirada en la investigacin de la Universidad de Wisconsin en sistemas de archivos IRON (Seccin 6, bajo el nombre "checksums de transacciones").3 Desfragmentacin online Incluso haciendo uso de diversas tcnicas para evitar la fragmentacin, un sistema de larga duracin tiende a fragmentarse con el tiempo. Ext4 dispondr de una herramienta que permite desfragmentar ficheros individuales o sistemas de ficheros enteros sin desmontar el disco.

Chequeo del sistema de ficheros ms rpido En ext4, los grupos de bloques no asignados y secciones de la tabla de inodos estn marcados como tales. Esto permite a e2fsck saltrselos completamente en los chequeos y en gran medida reduce el tiempo requerido para chequear un sistema de archivos del tamao para el que ext4 est preparado. Esta funcin est implementada desde la versin 2.6.24 del kernel Linux. Asignador multibloque Ext4 asigna mltiples bloques para un fichero en una sola operacin, lo cual reduce la fragmentacin al intentar elegir bloques contiguos en el disco. El asignador multibloque est activo cuando se usa 0_DIRECT o si la asignacin retrasada est activa. Esto permite al fichero tener diversos bloques "sucios" solicitados para escritura al mismo tiempo, a diferencia del actual mecanismo del kernel de solicitud de envo de cada bloque al sistema de archivos de manera separada para su asignacin. Timestamps mejorados Puesto que los ordenadores se tornan en general cada vez ms rpidos y que Linux est pasando a ser cada vez ms usado en aplicaciones crticas, la

granularidad de los timestamps basados en segundos se est volviendo insuficiente. Para resolver esto, ext4 tendr timestamps medidos en nanosegundos. sta funcin est actualmente implementada en la versin 2.6.23 del kernel. Adicionalmente se han aadido 2 bits del timestamp extendido a los bits ms significativos del campo de segundos de los timestamps para retrasar casi 500 aos el problema del ao 2038

5-XFS

XFS es un sistema de archivos de 64 bits con journaling de alto rendimiento creado por SGI (antiguamente Silicon Graphics Inc.) para su implementacin de UNIX llamada IRIX. En mayo de 2000, SGI liber XFS bajo una licencia de cdigo abierto. XFS se incorpor a Linux a partir de la versin 2.4.25, cuando Marcelo Tosatti (responsable de la rama 2.4) lo consider lo suficientemente estable para incorporarlo en la rama principal de desarrollo del kernel. Los programas de instalacin de las distribuciones de SuSE, Gentoo, Mandriva, Slackware, Fedora Core, Ubuntu y Debian ofrecen XFS como un sistema de archivos ms. En FreeBSD el soporte para solo-lectura de XFS se aadi a partir de Diciembre de 2005 y en Junio de 2006 un soporte experimental de escritura fue incorporado a FreeBSD-7.0-CURRENT. Sus caractersticas mas importantes son

Capacidad XFS soporta un sistema de archivos de hasta 9 exabytes, aunque esto puede variar dependiendo de los lmites impuestos por el sistema operativo. En sistemas GNU/Linux de 32 bits, el lmite es 16 terabytes. Registro de bitcora XFS provee soporte para llevar un registro (journaling), donde los cambios al sistema de archivos primero son escritos a un diario o journal antes de que se actualicen los datos del disco. El journal es un buffer circular de bloques del disco que no son parte del sistema de archivos. En XFS el registro (journal) contiene entradas 'lgicas' que describen a un alto nivel las operaciones que se estn

realizando, al contrario de otros sistemas de archivo con un registro (journal) 'fsico', que guardan una copia de los bloques modificados durante cada transaccin. Las actualizaciones del registro (journal) se realizan asincrnicamente para evitar una baja en el rendimiento. En el caso de una cada repentina del sistema, las operaciones inmediatamente anteriores a la cada pueden ser terminadas, garantizando as la consistencia del sistema. La recuperacin se realiza automticamente a la hora del montaje del sistema de archivos y la velocidad de recuperacin es independiente del tamao del sistema de archivos. Incluso si alguna informacin que fuese modificada inmediatamente antes de la cada del sistema no fuese escrita al disco, XFS se encarga de borrar todos los bloques de datos sin escribir, eliminando as cualquier compromiso de seguridad. Grupos de asignacin Los sistemas de archivos XFS estn particionados internamente en grupos de asignacin, que son regiones lineares de igual tamao dentro del sistema de archivos. Los archivos y los directorios pueden crear grupos de asignacin. Cada grupo gestiona sus inodos y su espacio libre de forma independiente, proporcionando escalabilidad y paralelismo mltiples hilos pueden realizar operaciones de E/S simultneamente en el mismo sistema de archivos. Journaled File System JFS Es un sistema de archivos de 64-bit con respaldo de transacciones creado por IBM. Est disponible bajo la licencia GNU GPL. Existen versiones para AIX, eComStation, OS/2, sistemas operativos Linux y HP-UX Fue diseado con la idea de conseguir "servidores de alto rendimiento y servidores de archivos de altas prestaciones, asociados a e-business". Segn se lee en la documentacin y el cdigo fuente, va a pasar un tiempo antes de que la adaptacin a Linux este finalizada e incluida en la distribucin estndar del kernel. JFS utiliza un mtodo interesante para organizar los bloques vacos, estructurndolos en un rbol y usa una tcnica especial para agrupar bloques lgicos vacos. JFS fue desarrollado para AIX. La primera versin para Linux fue distribuida en el verano de 2000. La versin 1.0.0 sali a la luz en el ao 2001. JFS est diseado para cumplir las exigencias del entorno de un servidor de alto rendimiento en el que slo cuenta el funcionamiento. Al ser un sistema de ficheros de 64 bits, JFS soporta ficheros grandes y particiones LFS(del ingls Large File Support), lo cual es una ventaja ms para los entornos de servidor.

Caractersticas

Eficiente respaldo de transacciones (Journaling).

JFS, al igual que ReiserFS, sigue el principio de metadata only. En vez de una completa comprobacin slo se tienen en cuenta las modificaciones en los metadatos provocadas por las actividades del sistema. Esto ahorra una gran cantidad de tiempo en la fase de recuperacin del sistema tras una cada. Las actividades simultneas que requieren ms entradas de protocolo se pueden unir en un grupo, en el que la prdida de rendimiento del sistema de ficheros se reduce en gran medida mediante mltiples procesos de escritura.
y

Eficiente administracin de directorios.

JFS abarca diversas estructuras de directorios. En pequeos directorios se permite el almacenamiento directo del contenido del directorio en inode . En directorios ms grandes se utiliza B-trees que facilitan considerablemente la administracin del directorio.
y

Mejor utilizacin de la memoria mediante adjudicacin dinmica de Inodes.

Con ext2 debe dar por anticipado el grosor del inode (la memoria ocupada por la informacin de administracin). Con ello se limita la cantidad mxima de ficheros o directorios de su sistema de ficheros. JFS le ahorra esto, puesto que asigna memoria Inode de forma dinmica y la pone a su disposicin cuando no se est utilizando.

6-ReiserFS
ReiserFS es un sistema de archivos de propsito general, diseado e implementado por un equipo de la empresa Namesys, liderado por Hans Reiser. Actualmente es soportado por Linux y existen planes de futuro para incluirlo en otros sistemas operativos. Tambin es soportado por Windows (de forma no oficial), aunque por el momento de manera inestable y rudimentaria (ReiserFS bajo windows). A partir de la versin 2.4.1 de Linux, ReiserFS se convirti en el primer sistema de ficheros con journal en ser incluido en el ncleo estndar. Tambin es el sistema de archivos por defecto en varias distribuciones, como SuSE (excepto en openSuSE 10.2 cuyo formato por defecto es ext3), Xandros, Yoper, Linspire, Kurumin Linux, FTOSX, Libranet y Knoppix Con la excepcin de actualizaciones de seguridad y parches crticos, Namesys ha cesado el desarrollo de ReiserFS (tambin llamado reiser3) para centrarse en Reiser4, el sucesor de este sistema de archivos.

Caractersticas ReiserFS ofrece funcionalidades que pocas veces se han visto en otros sistemas de archivos :
y y

Journaling. Esta es la mejora a la que se ha dado ms publicidad, ya que previene el riesgo de corrupcin del sistema de archivos. Reparticionamiento con el sistema de ficheros montado y desmontado. Podemos aumentar el tamao del sistema de ficheros mientras lo tenemos montado y desmontado (online y offline). Para disminuirlo, nicamente se permite estando offline (desmontado). Namesys nos proporciona las herramientas para estas operaciones, e incluso, podemos usarlas bajo un gestor de volmenes lgicos como LVM ,EVMS. Tail packaging es, un esquema para reducir la fragmentacin interna .

Comparado con ext2 y ext3 en el uso de archivos menores de 4k, ReiserFS es normalmente ms rpido en un factor de 1015. Esto proporciona una elevada ganancia en las news, como por ejemplo Usenet, caches para servicios HTTP, agentes de correo y otras aplicaciones en las que el tiempo de acceso a ficheros pequeos debe ser lo ms rpida posible

y y

y y

Los usuarios que usen como sistema de ficheros ext2 , deben formatear sus discos, aunque no as los que usen ext3. ReiserFS en versiones del kernel anteriores a la 2.4.10 se considera inestable y no se recomienda su uso, especialmente en conjuncin con NFS Algunas operaciones sobre archivos (por ejemplo unlink(2)) no son sncronas bajo ReiserFS, lo que pueden causar comportamientos extraos en aplicaciones fuertemente basadas en locks de archivos. No se conoce una forma de desfragmentar un sistema de archivos ReiserFS, aparte de un volcado completo y su restauracin. Tempranas implementaciones de ReiserFS (anteriores a la incluida en el kernel 2.6.2), eran susceptibles de problemas de escrituras fuera de orden, lo que provocaba que archivos siendo escritos durante una cada del sistema, ganaran un pico de bytes extras de basura en el siguiente montado del sistema de archivos. La implementacin actual de journaling, es correcta en este aspecto, manteniendo el journaling ordenado, del estilo de ext3.

7-Reiser4

Es un sistema de archivos para ordenadores. Se trata de la versin ms reciente del sistema de archivos ReiserFS, reescrito desde cero, desarrollado por Namesys y patrocinado por la DARPA y Linspire. Actualmente no se distribuye de forma conjunta con el kernel de Linux y por tanto no es soportado por muchas distribuciones. De hecho, su predecesor, Reiser3 se encuentra mucho ms expandido. Reiser4 se encuentra disponible en la rama mm del kernel de Linux, mantenida por Andrew Morton. Los desarrolladores del kernel de Linux sostienen que Reiser4 no sigue la convencin de codificacin estndar, mientras que Hans Reiser argumenta que la verdadera razn es debida a motivos polticos Caractersticas
y y y y y y

y y

Journaling ms eficiente gracias a la tcnica de "wandering log". Soporte ms eficiente de archivos pequeos, en trminos de espacio en disco y velocidad gracias a "tail packing". Administracin ms rpida de directorios con un nmero elevado de ficheros. Infraestructura de plugins ms flexible (a travs de tipos especiales de metadatos: cifrado, compresin). Soporte transaccional. Optimizacin dinmica de la estructura del disco a travs del mtodo "allocate-on-flush", llamado "delayed allocation" en el sistema de ficheros XFS. Transacciones atmicas. Integracin de metadatos en el espacio de nombres del sistema de archivos.

Algunas de las caractersticas ms avanzadas de Reiser4 (como transacciones definidas por el usuario) no se encuentran disponibles debido a la falta de una API en la capa VFS del kernel para ellas. Actualmente, Reiser4 carece de algunas utilidades estndar, como un repacker (similar a un desfragmentador proporcionado con otros sistemas de ficheros). Sus creadores dicen que se implementar ms tarde; o ms temprano si alguien les paga.

Reiser4 usa rboles B* en conjunto con los "dancing tree balancing", donde los nodos poco poblados no se fusionan hasta que se graban a disco, exceptuando volcados de memoria o cuando se completa una transaccin. Tal sistema permite crear ficheros y directorios sin tener que malgastar tiempo y espacio mediante bloques de tamao prefijado.

En el ao 2004, las pruebas de rendimiento realizadas por Namesys, mostraron que Reiser4 es de 10 a 15 veces ms rpido que ext3 en la administracin de ficheros ms pequeos de 1KB. En el uso diario, las pruebas sugirieron que duplicara el rendimiento respecto a ext3. Otras pruebas mostraron que Reiser4 era ms lento en otras operaciones.

8-LUSTRE
Es un sistema de archivos distribuido Open Source, normalmente utilizado en clusters a gran escala. El nombre es una mezcla de Linux y clusters. El proyecto intenta proporcionar un sistema de archivos para clusters de decenas de miles de nodos con petabytes de capacidad de almacenamiento, sin comprometer la velocidad o la seguridad, y est disponible bajo la GNU GPL. Cluster File Systems son los diseadores, desarrolladores y mantenedores de Lustre con colaboraciones de otras compaas y particulares. Muchos de los superordenadores ms rpidos del mundo son clusters que utilizan el sistema de archivos Lustre como almacenamiento, como los sistemas en ORNL, PNNL, LLNL y LANL. Se considera a cada archivo almacenado en el sistema de archivos Lustre un objeto. Lustre presenta a todos los clientes una semntica POSIX estndar y acceso concurrente lectura y escritura para los objetos compartidos. Un sistema de archivos Lustre tiene cuatro unidades funcionales. Estas son: Meta data server (MDS) para almacenar los metadatos; un Object storage target (OST) para guardar los datos reales; un Object storage server (OSS) para manejar los OSTs; cliente(s) para acceder y utilizar los datos. Los OSTs son dispositivos de bloques. Un MDS, OSS, y un OST pueden residir en el mismo nodo o en nodos diferentes. Lustre no administra directamente los OSTs, y delega esta responsabilidad en los OSSs para asegurar la escalabilidad para grandes clusters y supercomputadores. En un Massively Parallell Processor (MPP), los procesadores pueden acceder al sistema de archivos Lustre redirigiendo sus peticiones I/O hacia el nodo con el servicio lanzador de tareas si est configurado como un cliente Lustre. Aunque es el mtodo ms sencillo, en general proporciona un bajo rendimiento. Una manera ligeramente ms complicada de proporcionar un rendimiento global muy bueno consiste en utilizar la biblioteca liblustre. Liblustre es una biblioteca de nivel de usuario que permite a los procesadores montar y utilizar el sistema de archivos Lustre como un cliente, sorteando la redireccin hacia el nodo de servicio. Utilizando liblustre, los procesadores pueden acceder al sistema de archivos Lustre, incluso si el nodo de servicio en el que se lanz el trabajo no es un cliente Lustre. Liblustre proporciona un mecanismo para mover datos directamente entre el espacio de aplicacin y los OSSs de Lustre sin necesidad de realizar una copia

de datos a travs del ncleo ligero, logrando as una baja latencia, y gran ancho de banda en el acceso directo de los procesadores al sistema de archivos Lustre. Gracias a su gran rendimiento y escalabilidad caractersticas, utilizar Lustre en sistemas MPP es lo ms adecuado. Liblustre es es la mayor diferencia de diseo entre Lustre en un MPP como el Cray XT3 y los clusters convencionales

9-InterMezzo
Es un sistema de archivos distribuido para linux distribuido bajo la licencia GPL . A partir de la versin 2.4.15 del ncleo Linux se incluye soporte para InterMezzo en el kernel standard. InterMezzo est diseado para trabajar encima de un sistema de archivos con registro como ext3, JFS ReiserFsy XFS Un sistema InterMezzo consiste en un servidor, que mantiene la copia maestra del sistema de archivos, y uno o ms clientes con una cach del sistema de archivos. Puede trabajar en el modo de replicacin, en el que un cliente mantiene un duplicado completo del sistema de archivos, o en el modo bajo demanda en el que el cliente slo solicita los ficheros que necesita. Lo que se logra al capturar todas las escrituras al sistema de archivos con registro del servidor difundindolas a los clientes para que las reproduzcan. Se describe como un "sistema de archivos de gran disponibilidad" ya que un cliente puede trabajar incluso si se pierde la conexin con el servidor. Durante el periodo de desconexin, se registran las actualizaciones que se propagarn al restaurar la conexin. Los conflictos se detectan y manejan de acuerdo a la "poltica de resolucin de conflictos" (aunque la mejor poltica puede ser evitar los conflictos). Aplicaciones tpicas para el modo de replicacin pueden ser:
y y

Un cluster de servidores trabajando sobre un sistema de archivos compartido. Ordenadores que no siempre estn conectados a la red, como los porttiles.

Aplicaciones tpicas para el modo bajo demanda pueden ser:


y

Servidores de ficheros distribuidos, es decir, se pueden realizar rplicas de servidores FTP o WWW remotos sin tener que propagar ficheros a los que nunca se accede. Estaciones de trabajo de escritorio.

InterMezzo naci como parte del sistema de archivos coda en la canrnegie mellon university y toma muchas de sus decisiones de diseo de Coda. InterMezzo fue diseado para mejorar la escalabilidad, las prestaciones, la modularidad y conseguir una integracin sencilla con los sistemas de ficheros existentes. Aunque InterMezzo est soportado por la versin estndar del ncleo Linux desde la versin 2.4, se ha eliminado su soporte en la srie 2.6. Parece que el desarrollo de InterMezzo ha concluido, y sus desarrolladores se han pasado a un nuevo proyecto de nombre Lustre .

10-Filesystem Hierarchy Standard (FHS)


El Filesystem Hierarchy Standard (FHS, en espaol Estndar de jerarqua del sistema de archivos) es una norma que define los directorios principales y sus contenidos en el sistema operativo GNU/Linuxy otros sistemas de la familia Unix. Se dise originalmente en 1994 para estandarizar el sistema de archivos de las distribuciones de Linux, basndose en la tradicional organizacin de directorios de los sistemas Unix. En 1995 se ampli el mbito del estndar a cualquier Unix que se adhiriese voluntariamente El proceso de desarrollo de una jerarqua de sistema de archivos estndar comenz en agosto de 1993 con un esfuerzo enfocado a reestructurar el archivo y la estructura Linux. El FSSTND (Estndar del Sistema de Archivos), un estndar de la jerarqua del sistema de archivos especfico del sistema operativo Linux, fue liberado el 14 de febrero de 1994. Revisiones posteriores fueron liberadas el 9 d octubre de 1994 y el 28 de marzo de 1995. A principios de 1996, el objetivo de desarrollar una versin ms comprensiva del FSSTND para direccionar no slo a Linux, sino a otros sistemas derivados de UNIX, fue adoptado con la ayuda de miembros de la comunidad de desarrollo de BSD. Por consiguiente, un concentrado esfuerzo fue realizado para centrarse en hechos que fueran generales para los sistemas derivados de UNIX. En reconocimiento a esta amplitud del alcance, el nombre del estndar fue cambiado Estndar de Jerarqua del Sistema de Archivos, o FHS para abreviar. El FHS es mantenido por el Grupo de Estndares Libres (Free Standards Group hoy The Linux Foundation), una organizacin no lucrativa conformada por los principales vendedores de software y hardware, tales como: HP, Red Hat, IBM y Dell. De todos modos, la gran mayora de las distribuciones Linux, incluyendo aquellas desarrolladas por los miembros del Grupo de Estndares Libres (Free Standars Group), no siguen este estndar propuesto. En particular, caminos (path),

expresamente creados por los redactores del FHS, como por ejemplo /srv/, no es usado extensamente. Algunos sistemas Linux rechazan el FHS en favor de un enfoque diferente, como es el caso de GoboLinux. Desde que FHS comenz como una iniciativa Linux, otros sistemas operativos derivados de UNIX, generalmente la han ignorado en favor de sus propios sistemas, los cuales a veces varan ampliamente. Por ejemplo, Mac OSX usa nombres como /Applications/, /Library y /Users/ junto con la jerarqua de directorios tradicional de UNIX

11-GoboLinux

GoboLinux es una distribucin GNU/Linux que posee una caracterstica destacable en su reorganizacin de la jerarqua del sistema de ficheros. En GoboLinux, cada programa tiene su propio rbol de subdirectorios, donde se encuentran todos sus ficheros. La jerarqua de GoboLinux es radicalmente diferente comparada con la jerarqua de sistema de archivos tradicionalmente empleada por la mayor parte de las distribuciones Linux y clones-(UNIX), donde los tipos especficos de archivos son almacenados juntos en comunes subdirectorios estndar (como p.ej. bin y man), y los gestores de paquetes son usados para mantener una pista hacia el archivo que pertenece a algn programa. En GoboLinux, los archivos de programas diferentes son separados en diferentes subdirectorios. Mientras en los archivos tipo GoboLinux tambin son separados en subdirectorios, aunque stos son alineados dentro de los subdirectorios de sus programas. Los fabricantes de GoboLinux dicen que "el sistema de archivos es el gestor de paquetes", y el Sistema de gestin de paquetes de GoboLinux se usa a s mismo como una base de datos de paquetes. Esto produce un ms sencillo y menos desordenado rbol de directorios. GoboLinux usa symlinks y un (opcional y cosmtico) ncleo llamado "GoboHide" para alcanzar todo esto manteniendo una alta compatibilidad con la jerarqua de sistema de archivos tradicional Linux. La jerarqua de Gobolinux tiene beneficios adicionales, por ejemplo, este remueve algunas distinciones entre los tradicionales directorios (como las ubicaciones de los ejecutables /bin, /usr/bin, y /usr/local/bin). Los diseadores de GoboLinux afirman que esto causa que los scripts o guiones de shell se decifren en cdigos, a menudo, con menos frecuencia que en otras distribuciones Linux.

GoboLinux tambin permite al usuario tener instaladas diferentes versiones de un mismo programa de forma simultnea (y an controlarlos simultneamente). Adems, el ndice de gestin de paquetes nunca puede salir de la sincronizacin, como referencias para archivos no existentes, los que simplemente son enlaces rotos, y as inactivos. Los cambios del sistema de archivos de GoboLinux tambin han permitido otras innovaciones, como un nuevo sistema de autoarranque que no usa los utilizados en System V o BSD como estilos de sistemas init.

12-Btrfs
Btrfs (B-tree FS o normalmente pronunciado "Butter FS") es un sistema de archivos copy-on-write anunciado por Oracle Corporation para Linux. Su objetivo es sustituir al actual sistema de archivos ext3, eliminando el mayor nmero de sus limitaciones, en especial con el tamao mximo de los ficheros; adems de la adopcin de nuevas tecnologas no soportadas por ext3. Se afirma tambin que se "centrar en la tolerancia a fallos, reparacin y fcil administracin". En febrero de 2009, Btrfs fue desarrollado intensivamente y slo estuvo disponible para ser evaluado. Btrfs v0.19 fue publicado en junio de 2009, como software libre bajo licencia GPL. Inicialmente, estaba previsto publicar Btrfs v1.0 (con el formato de disco finalizado) hacia finales de 2008 pero, tras sobrepasarse esa fecha, no se ha vuelto a dar una fecha para la versin definitiva. Theodore Ts'o, desarrollador de los sistemas ext3 y ext4, dice que Btrfs "tiene algunas de las ideas de diseo de Reiser4 y que "el sistema de archivos tiene soporte para algunas caractersticas avanzadas que estn diseadas para incorporarse en ZFS La versin 2.6.29 del ncleo Linux ya soporta de manera experimental este sistema de archivos Caractersticas Btrfs est siendo desarrollado intensivamente y muchas de las caractersticas finales, como por ejemplo detectar si un volumen est lleno, no han sido incorporadas a la versin de pruebas. Las caractersticas finales presentadas son:
y y y y y

Empaquetado eficiente en espacio de archivos pequeos y directorios indexados Asignacin dinmica de inodos (no se fija un nmero mximo de archivos al crear el sistema de archivos) Snapshots escribibles y snapshots de snapshots Subvolmenes (races del sistema de archivos internas separadas) Mirroring y Stripping a nivel de objeto

y y y y y y y y y

Comprobacin de datos y metadatos (alta seguridad de integridad) Compresin Copy-on-write del registro de todos los datos y metadatos Gran integracin con device-mapper para soportar mltiples dispositivos, con varios algoritmos de RAID incluidos Comprobacin del sistema de archivos sin desmontar y comprobacin muy rpida del sistema de archivos desmontado Copias de seguridad incrementales eficaces y mirroring del sistema de archivos Actualizacin desde ext3 a Btrfs, y reconversin a ext3 al momento de la actualizacin Modo optimizado para SSD (activado a travs de una opcin de montaje) Defragmentacion sin desmontar

13-Initrd
El disco RAM inicial o initrd, por sus siglas en ingls es un sistema de archivos temporal usado por el ncleo Linux durante el inicio del sistema. Es usado tpicamente para hacer los arreglos necesarios antes de que el sistema de archivos raz pueda ser montado El sistema operativo GNU/Linux, al igual que otros sistemas Unix, consiste en un ncleo, Linux, que es cargado inicialmente en memoria, y que permanece de manera residente durante el funcionamiento del sistema, as como aplicaciones software que se ejecuta en el espacio de usuario, bajo el control del ncleo. Para minimizar la cantidad de cdigo que se carga en memoria, y para una modularidad mxima, el ncleo Linux omite mucho cdigo necesario para cargar el sistema operativo. Parte de este cdigo se encuentra en mdulos del ncleo, mientras que el resto son aplicaciones en el espacio de usuario. Para realizar un sistema de arranque que pueda servir para hardware variado, o que pueda ser cargado a partir de distintos medios incluyendo medios virtuales y transitorios como los provistos por una conexin de red, suele ser necesario para el ncleo acceder al espacio de usuario y quizs a mdulos del ncleo de manera que pueda obtener los datos y rutinas necesarias para acceder al almacn de datos principal. No tiene por qu ocurrir con todas las posibles configuraciones, aunque suele darse el caso. El sistema de arranque initrd ha sido la principal solucin a este problema desde hace mucho tiempo , aunque el recientemente desarrollado initramfs introducido en el ncleo Linux 2.6 contiene importantes mejoras.

En el sistema initrd, los archivos que necesitan ser accedidos por el ncleo durante el arranque se almacenan en un disco RAM, cuyos contenidos se encuentran en un sistema de archivos sobre un archivo montado como un dispositivo de bucle, o ms histricamente, en un pequeo dispositivo montable como un disquette, y ocupa generalmente entre 1,4 MB y 4 MB. El sistema de archivos est comprimido con gzip. La localizacin de la imagen de este disco RAM se da al ncleo en la carga por el cargador de arranque (generalmente o LILO o GRUB). El sistema initrd emplea ciertos "trucos" y tiene algunos inconvenientes, desde el punto de vista de un administrador. Crear o editar una imagen de un sistema de archivos de un disco RAM requiere privilegios de administrador para montar la imagen del sistema de archivos para realizar cambios, y/o para inicializar la estructura del sistema de archivos (dar formato) en el dispositivo virtual. Adems, el sistema de archivos utilizado en la imagen del disco RAM debe ser uno que no vaya a utilizarse en el ncleo, y el cdigo para acceder al sistema de archivos debe estar programado en el ncleo, lo que implica que no puede ser descargado ms adelante de la misma manera que se puede hacer cuando el cdigo es cargado a partir de mdulos del ncleo. Los discos RAM son de tamao fijo, por lo que suelen utilizar ms espacio del necesario, y tambin limitan la cantidad de espacio de trabajo disponible una vez que el sistema est arrancado. De hecho el enfoque de initrd no permite descargar nada de la memoria utilizada por ste sin reiniciar.

14-Sysfs
Sysfs es un sistema de archivos virtual que proporciona el ncleo Linux v2.6. Sysfs exporta informacin sobre los dispositivos y sus controladores desde el modelo de dispositivos del ncleo hacia el espacio del usuario, tambin permite configurar parmetros

Para cada objeto aadido en el rbol del modelo de controladores (controladores, dispositivos incluyendo clases) se crea un directorio en sysfs. La relacin padre/hijo se refleja con subdirectorios bajo /sys/devices/ (reflejando la capa fsica). El subdirectorio /sys/bus se puebla con enlaces simblicos, reflejando el modo en el que los dispositivos pertenecen a diferentes buses. /sys/class muestra dispositivos agrupados de acuerdo a su clase, como por ejemplo red, mientras que /sys/block/ contiene los dispositivos de bloques. Para los controladores de dispositivos y los dispositivos, se pueden crear atributos. Los atributos son simples ficheros. Se estipula que slo deben contener un valor o permitir que un slo valor se fije (a diferencia de algunos ficheros en /procfs, que necesitan un anlisis intenso). Estos ficheros estn incluidos en el subdirectorio

del controlador correspondiente al dispositivo. Es posible crear subdirectorios con atributos para agruparlos.

15-LOGICAL VOLUMEN MANAGER

LVM es una implementacin de un administrador de volmenes lgicos para el kernel .Se escribi originalmente en 1998 por Heinz Mauelshage que se bas en el administrador de volmenes de ventas usado en sistemas HP-UX. LVM incluye muchas de las caractersticas que se esperan de un administrador de volmenes, incluyendo:
y y y y

Redimensionado de grupos lgicos Redimensionado de volmenes lgicos Instantneas de slo lectura (LVM2 ofrece lectura y escritura) RAID0 de volmenes lgicos

LVM no implementa RAID1 o RAID5 por lo que se recomienda usar software especfico de RAID para estas operaciones, teniendo las LV por encima del RAID En la imagen de la derecha podemos observar cmo trabaja LVM. Los volmenes lgicos agrupan particiones fsicas de disco, y stos a su vez, aunque no est representado en la figura, se engloban en un grupo lgico. De esta forma, /home se compone de hda3, hda4 y hdb3, y a su vez, /usr engloba a hda1, hda2, hdb1 y hdb2.
y

La gestin de volmenes lgicos proporciona una vista de alto nivel sobre el almacenamiento en un ordenador, en vez de la tradicional vista de discos y particiones. Los volmenes de almacenamiento bajo el control de LVM pueden ser redimensionados y movidos a voluntad, aunque esto quiz necesite actualizar las herramientas del sistema. LVM tambin permite la administracin en grupos definidos por el usuario, permitiendo al administrador del sistema tratar con volmenes llamados, por ejemplo, "ventas" o "desarrollo", en vez de nombres de dispositivos fsicos, como "sda" o "sdb"

CARACTERISTICAS

y y

Una de las decisiones que afronta un usuario instalando GNU/Linux es cmo particionar el disco duro. La necesidad de estimar cuanto espacio ser necesario para el sistema, para los temporales o para los datos personales, puede convertirse en algo problemtico, por lo que muchos usuarios optan por crear una particin que ocupe todo el disco y all introducir los datos. An habiendo estimado correctamente cuanto espacio se necesita para /home, /usr, /tmp, o cualquier otro directorio importante, es bastante comn que nos quedemos sin espacio en estas particiones, cuando tenemos espacio de sobra en alguna otra. Con el uso de un administrador de volmenes lgicos, el disco completo puede ser asignado a un nico grupo lgico y definir distintos volmenes lgicos para almacenar /home u otros directorios. En el caso que nos quedemos sin espacio, por ejemplo, en /home, y tenemos espacio en /opt, podramos redimensionar /home y /opt y usar el espacio que le hemos quitado a /opt y aadrselo a /home. Hay que tener en cuenta, que para realizar esto, nuestro sistema de ficheros debe soportar el redimensionado por arriba y por abajo, como ReiserFS. Otra alternativa sera dejar una cierta cantidad de espacio del disco sin asignar y cuando fuera necesario, expandir el volumen Administrar un sistema con muchos discos es un trabajo que consume tiempo, y se hace particularmente complejo si el sistema contiene discos de distintos tamaos. Balancear los requerimientos de almacenamiento de distintos usuarios (a menudo conflictivos) puede ser una tarea muy laboriosa y compleja. Los grupos de usuarios (llammosles por ejemplo administracin, desarrollo, etc.) pueden tener sus volmenes lgicos y stos pueden crecer lo que sea necesario, y el administrador puede realizar las operaciones oportunas sobre dichos volmenes.

Cuando un nuevo disco se aade al sistema, no es necesario mover los datos de los usuarios. Simplemente se aade el nuevo disco al grupo lgico correspondiente y se expanden los volmenes lgicos todo lo que se considere adecuado. Tambin se pueden migrar los datos de discos antiguos a otros nuevos, de forma totalmente transparente al usuario.

16-FUSE

Filesystem in Userspace (FUSE, Sistema de archivos en Espacio de usuario) es un mdulo cargable de ncleo para sistemas operativos de computador tipo Unix, que permite a usuarios no privilegiados crear sus propios sistemas de archivos sin necesidad de editar el cdigo del ncleo. Esto se logra mediante la ejecucin del cdigo del sistema de archivos en el espacio de usuario, mientras que el mdulo FUSE slo proporciona un "puente" a la interfaz del ncleo real. FUSE fue

oficialmente fusionado con la corriente principal del kernel Linux en la versin 2.6.14. FUSE es realmente til para la creacin de sistemas de archivos virtuales. A diferencia de los tradicionales sistemas de archivos, que, en esencia, guardan y recuperan los datos desde un disco, los sistemas de archivos virtuales en realidad no almacenan datos propios. Actan como una visualizacin o traduccin de un sistema de archivos existente o dispositivo de almacenamiento.

17-File System Visualizer

File System Visualizer, conocido como fsv, es un explorador de ficheros 3D usando OpenGL, creado por Daniel Richard G. Se trata de un clon libre del explorador de ficheros fsn de SGI para los sistemas IRIX, destinada a ejecutarse en sistemas Linux y otros sistemas operativos Unix-like. Es posible representar el sistema de ficheros de dos formas: en modo MapV, en el cual los archivos y directorios son representados como ortoedros de igual altura, con la longitud del ortoedro representando el tamao del fichero o directorio, y el modo TreeV, donde archivos y directorios son mostrados de forma ms convencional, mediante una estructura en rbol, con enlaces entre directorios padres e hijos, y columnas de diferentes altura (indicando el tamao del fichero), que representan el interior de los archivos, sobre los directorios. En ambos modos, una vista de rbol estndar en 2D de los archivos y directorios es mostrada a la izquierda de la ventana. El ratn puede usarse para rotar la representacin 3D del sistema de fichero, y una funcin "Vista de guila" muestra la representacin desde una vista area. File System Visualizer es tambin capaz de manipular los ficheros y directorios que muestra.

18-dev/zero

En sistemas operativos tipo Unix, /dev/zero es un archivo especial que provee tantos caracteres null (ASCII NUL, 0x00; no el carcter ASCII "0", 0x30) como se lean desde l. Uno de los usos tpicos es proveer un flujo de caracteres para sobreescribir informacin. Otro uso puede ser para generar un archivo "limpio" de un determinado tamao. Usando mmap para mapear /dev/zero al espacio de memoria virtual, es la manera en que BSD implementa memoria compartida

19-dev/null
En sistemas operativos tipo Unix, /dev/null o null device (perifrico nulo) es un archivo especial que descarta toda la informacin que se escribe o redirecciona en l. A su vez, no proporciona ningn dato a cualquier proceso que intente leer de l, devolviendo simplemente un EOF o fin de fichero. Generalmente se usa en shell scripts para redirigir la salida de un flujo de datos (stream) de un proceso o como un fichero vaco que acta como entrada de un flujo de datos de un proceso. La forma ms comnmente utilizada es mediante la redireccin, ya que /dev/null es un archivo especial y no un directorio; por lo tanto, no se pueden mover (mv) ni copiar (cp) ficheros en su interior.

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