SlideShare a Scribd company logo
1 of 7
Download to read offline
SEP                                                  SEIT
      DIRECCION GENERAL DE INSTITUTOS TECNOLOGICOS

      INSTITUTO TECNOLOGICO
                                      de Tehuacán




              “Sistemas de Archivos”




                    Presenta:
             González Ramírez Jorge




                   Catedrático:
            Francisco Vazquez Guzman




        Ing. En Sistemas Computacionales




          Tehuacán, Puebla Marzo 2012
Sistemas de Archivos

La estructura que alberga la información en los discos es conocida con el nombre de sistema
de ficheros (abreviadamente FS "File System"). Un sistema de ficheros es una estructura
lógica que
se supone las más adecuada y eficiente para el manejo de datos en base a las
características del hardware disponible (discos) por esta razón, su estudio se mueve en la
frontera entre el hardware y el software.

El diseño del sistema de ficheros tiene una gran influencia en la eficacia (rendimiento),
seguridad, flexibilidad y capacidad de crecimiento de los almacenamientos en disco. Y por
tanto, en el rendimiento del propio Sistema Operativo. Una de cuyas funcionalidades más
importantes es el manejo de datos.

 En general, cada SO tiene su forma de organizar y controlar el acceso a los datos en el
disco duro que le es específica, e independiente del medio físico (tipo de disco utilizado). Sin
embargo, por razón de compatibilidad, y para mejor adaptarse a las distintas circunstancias,
algunos Sistemas Operativos pueden utilizar distintos Sistemas de Ficheros (Linux es un
caso paradigmático).

 MS-DOS
Los sistemas MS-DOS ("MicroSoft Disc Opertating System"), PC-DOS y derivados, hasta el
MS- DOS v.6.22, utilizan un sistema de ficheros conocido como FAT. El nombre se debe a
una de sus estructuras principales, la tabla de situación de ficheros FAT ("File Allocation
Table").

Como señala su propio nombre, el sistema utiliza una tabla donde se encuentran las
direcciones de los ficheros en el disco. Las tablas FAT están contenidas en el disco junto con
el resto de datos, aunque durante el funcionamiento normal se cargan en memoria.
Dependiendo del espacio asignado para escribir en ellas reciben diversos "apellidos": FAT12,
FAT16 y FAT32, que utilizan respectivamente 12, 16 y 32 bits para apuntar el número de
cluster de un trozo de fichero (todas las versiones de MS-DOS previas a la 7.x utilizaban
FAT12/16).
Es un sistema de ficheros muy simple, aunque perfectamente adecuado a las pretensiones
iniciales. La más evidente para el usuario es la limitación de 8 caracteres para los nombres
de ficheros y de 3 para las extensiones. Fórmula conocida como 8+3.

El sistema de ficheros de MS-DOS, que se comercializó con los primeros PCs de IBM, que
carecían de disco duro (solo podían almacenar 160 KB de datos en su disco flexible), era en
realidad una derivación del sistema de ficheros de CP/M ("Control program for
microcomputers"). El sistema operativo de Gary Kildall, que había servido de inspiración
al QDOS ("Quick and Dirty Operating System") de Tim Patterson, el "Padre" del DOS de
Microsoft. El sistema era bastante ineficiente, ya que no estaba pensado para unidades
grandes. Por esta razón, cuando IBM comenzó a dotar a sus equipos con unidades de disco
de 10MB, Microsoft desarrollo un nuevo sistema de ficheros para su DOS 1.x, inspirado en el
de UNIX (Microsoft había adquirido una licencia UNIX y había empezado a ofrecer una
versión denominada XENIX). La capacidad crear particiones haciendo que aparezcan como
una unidad de disco, fue añadida en el MS-DOS 3.2.
Sistemas Windows

windows ha utilizando dos sistemas de ficheros : FAT, en distintas versiones y NTFS . Si
empezamos por el principio, Windows 3.x no era realmente un sistema operativo; más bien
una interfaz gráfica sobre MS-DOS. La última versión: Windows 3.11 para trabajo en grupo,
incluía una mejora llamada "32-Bit File Access" que en realidad se trataba de una forma de
acceso a disco para rutinas de 32-bit en modo protegido, en vez de las rutinas normales DOS
de 16 bits. De forma que la estructura del sistema de archivos seguía siendo la DOS
tradicional.

El Windows 95 inicial incluía un MS-DOS v.7.x que soportaba FAT16, mientras que una
versión posterior, denominada OSR2 ("OEM Service Release 2") o Windows 95b, soportaba
tambiénFAT32. El MS-DOS v.7.1 que venía con él también soporta FAT32.

Por su parte Windows NT fue diseñado desde el principio para ser un sistema operativo de
red y multitarea que rompiese definitivamente cualquier nexo con sus ancestros MS-DOS.
Soporta dos sistemas de fichero: su sistema "nativo", denominado NTFS ("New Technology
File System") es un sistema de ficheros estilo UNIX/DOS. El segundo es el tradicional FAT32,
incluido meramente por razones de compatibilidad y para permitir que los equipos puedan
tener lo que se denomina arranque dual ("dual boot"),

UNIX
Este sistema es propio de máquinas grandes utilizadas generalmente por muchos usuarios.
Nació en entornos académicos y de investigación, por lo que dispone de mecanismos de
protección y cooperación entre grupos de trabajo muy desarrollados. Existen varios dialectos
de UNIX, aunque uno de ellos, Linux, se ha popularizado mucho en el mundo de la
informática personal. Aunque la arquitectura de su sistema de ficheros sirvió de inspiración
para las últimas versiones de MS-DOS, es totalmente incompatible con los sistemas FAT.
Aunque originarios de un tronco común (el Unix de AT&T), existen distintas variedades que,
en lo referente a su FS, se diferencian en cuestiones de detalle. Principalmente relacionadas
con la forma en que se heredan las propiedades de los nuevos ficheros en función de las
propiedades del directorio padre o del proceso que los crea.


Linux
Este sorprendente sistema, fue desarrollado inicialmente por un estudiante (Linux Benedict
Thorwald) según un diseño inspirado en Minix (un dialecto simplificado de UNIX diseñado por
Andrew S. Tanenbaum). Posteriormente fue convertido por su creador en un SO "freeware" y
rápidamente "adoptado" por la comunidad informática internacional, que le ha ido añadiendo
infinidad de opciones, utilidades y mejoras. Es rápido, fiable y muy optimizado. El sistema de
archivos Linux es distinto de los sistemas FAT, aunque dispone de una utilidad denominada
mtools que da soporte a FAT32.
Con el tiempo se le ha dotado de distintos sistemas de ficheros, de forma que sus usuarios
pueden elegir entre una amplia variedad de opciones y tener acceso (en ocasiones
restringido) a una enorme cantidad de formatos. El sistema es muy flexible, permitiendo
incluso montar un sistema
de ficheros de raíz única, que comprenda unidades físicas con sistemas distintos entre sí
(unidades con formatos distintos). Entre los sistemas de fichero que Linux puede utilizar o
"entender" se encuentran: bfs; minix; ext; ext2; ext3; xia; xfs; msdos; umsdos; vfat; jfs;
reiserfs; nfs; is o9660; hpfs; sysv; smb y ncpfs. características de los más usados:

ext:
Es una extensión del sistema de ficheros Minix (de ahí su nombre), aunque más
elaborada. Su desarrollo fue suspendido en favor de ext2. A partil de la versión 2.1.21 ya
no se incluye en el kernel de Linux.

ext2:
 Puede decirse que actualmente (2005) esta segunda "extensión" del sistema Minix, es el
modelo "oficial" y más extendido en el mundo Linux. Es un sistema de ficheros de alto
rendimiento que, en términos de velocidad y consumo de UCP, presenta las mejores
prestaciones de entre los sistemas soportados por Linux, aunque no está exento de
inconvenientes. Está dotado de una estructura estática y con relativamente poco espacio
para anotar particiones excepcionalmente grandes o con gran número de ficheros en cada
directorio. Aunque en honor a la verdad, estos límites son enormes: 32,768 subdirectorios
en cada directorio; de 10,000 a 15,000 ficheros por directorio, y 4 Terabytes de capacidad.
Sin embargo, quizás la principal limitación es que su estructura de listas encadenadas
(similar a las FAT 8.1.2a1) no es especialmente adecuada para volúmenes muy grandes
(desde luego, el concepto actual -2005- de "muy grande", no es el mismo que el de hace 10
años).

ext3:
Es una versión "journaling" del anterior. Es decir, un sistema capaz de anotar las
"transacciones" (operaciones) realizadas, y en caso necesario, disponer de cierta capacidad
de rehacer los últimos cambios. El journaling garantiza la consistencia de los ficheros, ya que
las operaciones de escritura/borrado de disco suponen distintos accesos y actualizaciones;
sobre los datos y sobre los metadatos (tablas FAT por ejemplo . En caso de accidente. Por
ejemplo, un apagado súbito, algunas operaciones pueden quedar sin realizar, produciendo
inconsistencias en el sistema de ficheros. En estos casos, el sistema tradicional consiste en
recurrir al empleo de utilidades (como fsck en Linux; fdisk en Windows, o el patético recover
del DOS) que verifican la estructura lógica e intentan reparar los desperfectos (al menos
evitar que sean origen de nuevos estropicios). El problema es que con frecuencia tales
utilidades no resuelven el problema. Además, las rutinas necesarias después del "crash" de
un gran sistema pueden requerir horas o incluso días de proceso. En cambio los sistemas
journaling pueden rehacer la actualización que quedó incompleta (o anularla totalmente) en
cuestión de minutos. El resultado es que estos sistemas son mucho más rápidos en el
rearranque después de una incidencia. Algo que es especialmente valorado en determinados
entornos de explotación (pensemos por ejemplo, en un gran banco).

hpfs:
 Es el "High Performance File System" utilizado por OS/2 de IBM . Aunque, debido a la
ausencia de documentación al respecto, Linux solo ofrece capacidad de lectura (importar
sus datos) desde estos sistemas de fichero.

iso9660:
 Es el sistema de ficheros utilizados en los CD-ROMs. Es un estándar para grabar ficheros
de datos en los dispositivos ópticos como CDs y DVDs implementado en todos los sistemas
que montan estos dispositivos. Como no podía ser menos, Linux soporta las dos versiones
del estándar: High Sierra y Rock Ridge. jfs: Al igual que ext3, jfs es un sistema de ficheros
"journalista". Desarrollado inicialmente por IBM para sus sistema OS/2 Warp , su código fue
donado al Open Source Consortium a principios del 2000 y portado a Linux poco después.
Se incluye en los kernel a partir de la versión 2.5.6, aunque puede instalarse como un parche
en las versiones 2.4.x. Es un sistema muy adecuado para entornos empresariales que
permite volúmenes muy grandes y utiliza técnicas avanzadas para mejorar el rendimiento.
Una de sus características es que utiliza un sistema de asignación dinámica para los "inodes"
que asigna o libera el espacio según las necesidades. La ventaja es que, al contrario que en
otros sistemas. Porejemplo,ext2 , no es necesaria una estimación previa del espacio que se
reservará a los inodes al crear el sistema de ficheros .

minix:
 Es el sistema de ficheros nativo del SO de igual nombre. Fue el primero de los
disponibles para Linux, ya que como hemos indicado, el desarrollo original de éste se basó
en aquel. Aunque adolece de importantes limitaciones (Minix es más un sistema pensado
para la enseñanza que para explotación comercial , se sigue utilizando en disquetes y en
unidades de disco RAM.

msdos:

Es la versión Linux del sistema de ficheros DOS tradicionalmente usado por los PCs IBM,
Windows y PS/2. La versión Linux adolece de las mismas limitaciones que el
DOS original.

Umsdos:
 Una extensión Linux del anterior que elimina alguna de sus limitaciones, como la de
nombres cortos (8+2). Al tiempo que añade algunas capacidades nuevas. Por ejemplo, la
designación de dispositivos de E/S como ficheros (algo muy común en el mundo Unix);
posibilidad de definir tuberías ("pipelines") para utilizar la salida de un comando como
entrada de otro. etc.

Nfs:
 Es el sistema de ficheros de red ("Network File System") que permite acceder ficheros
situados en ordenadores remotos.

Ncpfs:
 Un sistema de ficheros de red que soporta el protocolo NCP ("NetWare Core
Protocol") de Novell . Permite acceder y manejar los recursos de un servidor NetWare
desde Linux.

reiserfs:
Otro sistema de ficheros "journalista" de código abierto y disponible en la mayoría de
distribuciones de Linux, diseñado por Hans Reiser y colaboradores en Namesys. Aunque
presenta unas excelentes prestaciones en el manejo de ficheros grandes, una de sus
características distintivas es su adecuación para manejar infinidad de ficheros pequeños. Su
filosofía es que los ficheros pequeños estimulan la sencillez del código. ¡En lugar de utilizar
una base de datos para manejar su información, utilice el sistema deficheros reiserfs resulta
de 8 a 15 veces más rápido que ext2 en el manejo de ficheros de menos de 1 KB, y con la
configuración adecuada, puede almacenar un 6% más de datos que aquel en el mismo
dispositivo. En lugar de manejar clusters de tamaño fijo, su diseño le permite utilizar el
espacio exactamente a medida de la necesidad. Los metadatos están orgnizados en una
estructura de árbol ordenado bastante sofisticada (B+Tree , que además de gestionar los
metadatos, almacena y comprime los despuntes (trozos de fichero que no alcanzan a ocupar
un cluster).

smb:
 Otro sistema de ficheros de red, que soporta SMB ("Server Message Block"), un protocolo
utilizado por Windows para trabajo en grupo (Windows 3.1); Windows NT, y Lan Manager de
IBM. Permite compartir ficheros; impresoras; puertos serie y otras abstracciones utilizadas
para comunicación entre ordenadores, como tuberías y buzones de correo.

Sysv:
 Es una implementación Linux del sistema de ficheros SystemV de Unix. Soporta las
variedades Xenix FS (versión Microsoft de Unix); SystemV/Coherent; SystemV/386 y
Coherent FS.

xfs:
En concordancia con la política de apoyo a Linux emprendida por algunas grandes
compañías, Silicon Graphics, más conocida como SGI, ha distribuido una versión Linux de
su sistema de ficheros XFS, diseñado originariamente para sus sistemas IRIX. En
concordancia con sus orígenes, se trata de un sistema "journalista" de altas prestaciones,
que soporta bitácora o registro de las transacciones con los metadatos [3], así como
"granjas" de discos ("disk farms") extremadamente grandes. Uno de estos sistemas es 15
capaz de gestionar 18,000 Petabytes (10 bytes y un solo fichero puede alcanzar 9,000
Petabytes.

xiafs:
 Fue otra extensión del sistema de ficheros inicial (Minix) con intención de mejorar sus
conocidas deficiencias. Su desarrollo y mantenimiento fueron abandonados a partir de la
versión 2.1.21 del kernel.

Squashfs:
 un sistema de ficheros de solo-lectura altamente comprimido, implementado como un
módulo del kernel bajo VFS ("Virtual File System"). Puede ser útil en aplicaciones
embebidas que requieran gestionar gran cantidad de datos de forma eficiente.

El seudo-fichero /proc/filesystems contiene información sobre los módulos cargados por el
kernel de Linux. Puede utilizar el comando cat /proc/filesystems para inspeccionar su
contenido. Si ejecuta el comando, seguramente verá (entre otras) las siguientes líneas:

OS/2
Este sistema operativo de IBM también fue popular dentro de ciertos círculos del mundo PC.
Principalmente clientes corporativos de la compañía. Utiliza un sistema de archivos
específico denominado HPFS ("High Performance File System") que permite nombres de
ficheros de hasta 254 caracteres y soporta la coexistencia de varios sistemas de fichero en
el mismo equipo utilizando distintos dispositivos. En especial unidades FAT12 y FAT16. Su
utilidad de formateo permitía seleccionar entre el modo FAT y el HPFS vernáculo.

Las versiones 1 y 2 se denominaron OS/2, mientras que la 3 apareció bajo el nombre OS/2
Wrap. Aparte de los programas escritos específicamente para él, el sistema permitía ejecutar
programas DOS y Windows. Desde luego era superior técnicamente a los Windows de la
época. Resultaba casi imposible "colgarlo", cosa que distaba mucho de ocurrir con aquellas
versiones de Windows, famosas por sus pantallas azules BSoD ("Blue Screen of Death"), y
podía instalarse sobre una máquina DOS, Windows 3.1/3.11, o Windows for Workgroups
3.1/3.11, sin perder la posibilidad de ejecutar las aplicaciones de estos sistemas. Disponía
incluso de un sistema de carga dual que permitía arrancar en OS/2 o en DOS. Incluía un
"BonusPack" que, ya en 1994 (entre otras) incluía IBM Internet Connection, una utilidad que
permitía: "enviar correos electrónicos, acceder a tablones de anuncios, buscar información,
conectar con otros sistemas y transferir archivos a su sistema" .

Macintosh
El sistema de la manzana utiliza para organizar datos en discos duros y disquetes es un
sistema de archivos denominado HFS ("Hierarchical File System").

Netware
Este Sistema operativo de Novell utiliza un sistema de ficheros denominado NFS ("Netware
File System"), que fue diseñado específicamente para servidores de red.

 Este es quizás el único punto en contra, razón por la cual no era tan utilizado como los
sistemas FAT hasta que Microsoft empezó a utilizarlo como sistema por defecto en algunas
versiones avanzadas de Windows.

More Related Content

What's hot (17)

Sistema de archivos
Sistema de archivosSistema de archivos
Sistema de archivos
 
Adm de archivos
Adm de archivosAdm de archivos
Adm de archivos
 
Sistema de archivos
Sistema de archivosSistema de archivos
Sistema de archivos
 
Conalep tlalnepantla 2
Conalep tlalnepantla 2Conalep tlalnepantla 2
Conalep tlalnepantla 2
 
Particion de discos
Particion de discosParticion de discos
Particion de discos
 
Sistemas de archivos linux
Sistemas de archivos linuxSistemas de archivos linux
Sistemas de archivos linux
 
Jose hamaliel flores ramirez
Jose hamaliel flores ramirezJose hamaliel flores ramirez
Jose hamaliel flores ramirez
 
Johana
JohanaJohana
Johana
 
Evidencia005
Evidencia005Evidencia005
Evidencia005
 
Sistemas de archivos (CuzMarinJakssieldeJesus)
Sistemas de archivos (CuzMarinJakssieldeJesus)Sistemas de archivos (CuzMarinJakssieldeJesus)
Sistemas de archivos (CuzMarinJakssieldeJesus)
 
Unidad%201
Unidad%201Unidad%201
Unidad%201
 
Sistema de archivos
Sistema de archivosSistema de archivos
Sistema de archivos
 
Sistemas operativos 1 sistemas de archivo
Sistemas operativos 1   sistemas de archivoSistemas operativos 1   sistemas de archivo
Sistemas operativos 1 sistemas de archivo
 
Sistemas de archivos
Sistemas de archivosSistemas de archivos
Sistemas de archivos
 
sistemas operativos-maestra maricarmen
sistemas operativos-maestra maricarmensistemas operativos-maestra maricarmen
sistemas operativos-maestra maricarmen
 
Tatiana Sánchez 3
Tatiana Sánchez 3Tatiana Sánchez 3
Tatiana Sánchez 3
 
Presentación1
Presentación1Presentación1
Presentación1
 

Viewers also liked

Viewers also liked (20)

Sistema de archivos
Sistema de archivosSistema de archivos
Sistema de archivos
 
Sistema de archivos
Sistema de archivosSistema de archivos
Sistema de archivos
 
Partes logicas de disco, board y procesador
Partes logicas de disco, board y procesadorPartes logicas de disco, board y procesador
Partes logicas de disco, board y procesador
 
Fat 2
Fat 2Fat 2
Fat 2
 
Sistemas de archivos de windows
Sistemas de archivos de windowsSistemas de archivos de windows
Sistemas de archivos de windows
 
Sistemas de archivos
Sistemas de archivosSistemas de archivos
Sistemas de archivos
 
Presentacion
PresentacionPresentacion
Presentacion
 
4.4 Acceso a sistema de archivos
4.4 Acceso a sistema de archivos4.4 Acceso a sistema de archivos
4.4 Acceso a sistema de archivos
 
30 sistema de archivos
30 sistema de archivos30 sistema de archivos
30 sistema de archivos
 
Sistemas de archivos
Sistemas de archivosSistemas de archivos
Sistemas de archivos
 
DefinicióN De Software
DefinicióN De SoftwareDefinicióN De Software
DefinicióN De Software
 
Sistema de archivos.
Sistema de archivos.Sistema de archivos.
Sistema de archivos.
 
Sistemas de archivos
Sistemas de archivosSistemas de archivos
Sistemas de archivos
 
memoria sdram
memoria sdrammemoria sdram
memoria sdram
 
Definición de software
Definición de softwareDefinición de software
Definición de software
 
Software diapositivas 1
Software diapositivas 1Software diapositivas 1
Software diapositivas 1
 
Definicion De Software
Definicion De SoftwareDefinicion De Software
Definicion De Software
 
Que es software
Que es softwareQue es software
Que es software
 
Tipos De Software
Tipos De SoftwareTipos De Software
Tipos De Software
 
Iso
IsoIso
Iso
 

Similar to Sistemas de archivos

Administracion de datos unidad 1
Administracion de datos unidad 1Administracion de datos unidad 1
Administracion de datos unidad 1Juan Anaya
 
Guia de trabajo edwin rincon
Guia de trabajo edwin rinconGuia de trabajo edwin rincon
Guia de trabajo edwin rinconedwinrincon
 
Resumen - sistemas de archivos
Resumen - sistemas de archivosResumen - sistemas de archivos
Resumen - sistemas de archivosarrietains
 
Particionando sistema de archivos basados en windows
Particionando sistema de archivos basados en windowsParticionando sistema de archivos basados en windows
Particionando sistema de archivos basados en windowsCesar Nefazthor
 
socialización guía 9
socialización  guía 9socialización  guía 9
socialización guía 9Vargas1006
 
Sistema de archivos
Sistema de archivosSistema de archivos
Sistema de archivosEzmee XD
 
Sistemas linux windows
Sistemas linux windowsSistemas linux windows
Sistemas linux windowsozitobb
 
archivos de los sistemas operativos y tipos de sistemas operativos
archivos de los sistemas operativos y tipos de sistemas operativos archivos de los sistemas operativos y tipos de sistemas operativos
archivos de los sistemas operativos y tipos de sistemas operativos Diover Castrillon
 

Similar to Sistemas de archivos (20)

Administracion de datos unidad 1
Administracion de datos unidad 1Administracion de datos unidad 1
Administracion de datos unidad 1
 
Administracion de redes
Administracion de redesAdministracion de redes
Administracion de redes
 
Guia de trabajo edwin rincon
Guia de trabajo edwin rinconGuia de trabajo edwin rincon
Guia de trabajo edwin rincon
 
Tipo de Sistema de Archivos
Tipo de Sistema de ArchivosTipo de Sistema de Archivos
Tipo de Sistema de Archivos
 
Resumen - sistemas de archivos
Resumen - sistemas de archivosResumen - sistemas de archivos
Resumen - sistemas de archivos
 
Particion
ParticionParticion
Particion
 
Particionando sistema de archivos basados en windows
Particionando sistema de archivos basados en windowsParticionando sistema de archivos basados en windows
Particionando sistema de archivos basados en windows
 
socialización guía 9
socialización  guía 9socialización  guía 9
socialización guía 9
 
Historia windows
Historia windowsHistoria windows
Historia windows
 
11.- Sistema de archivos
11.- Sistema de archivos11.- Sistema de archivos
11.- Sistema de archivos
 
Desistema
DesistemaDesistema
Desistema
 
Desistema
DesistemaDesistema
Desistema
 
Sistema de archivos
Sistema de archivosSistema de archivos
Sistema de archivos
 
iMac
iMaciMac
iMac
 
Mantenimiento
MantenimientoMantenimiento
Mantenimiento
 
Mantenimiento
MantenimientoMantenimiento
Mantenimiento
 
Sistemas linux windows
Sistemas linux windowsSistemas linux windows
Sistemas linux windows
 
Sistema de archivo
Sistema de archivoSistema de archivo
Sistema de archivo
 
Sistemas operativos windows
Sistemas operativos windowsSistemas operativos windows
Sistemas operativos windows
 
archivos de los sistemas operativos y tipos de sistemas operativos
archivos de los sistemas operativos y tipos de sistemas operativos archivos de los sistemas operativos y tipos de sistemas operativos
archivos de los sistemas operativos y tipos de sistemas operativos
 

Sistemas de archivos

  • 1. SEP SEIT DIRECCION GENERAL DE INSTITUTOS TECNOLOGICOS INSTITUTO TECNOLOGICO de Tehuacán “Sistemas de Archivos” Presenta: González Ramírez Jorge Catedrático: Francisco Vazquez Guzman Ing. En Sistemas Computacionales Tehuacán, Puebla Marzo 2012
  • 2. Sistemas de Archivos La estructura que alberga la información en los discos es conocida con el nombre de sistema de ficheros (abreviadamente FS "File System"). Un sistema de ficheros es una estructura lógica que se supone las más adecuada y eficiente para el manejo de datos en base a las características del hardware disponible (discos) por esta razón, su estudio se mueve en la frontera entre el hardware y el software. El diseño del sistema de ficheros tiene una gran influencia en la eficacia (rendimiento), seguridad, flexibilidad y capacidad de crecimiento de los almacenamientos en disco. Y por tanto, en el rendimiento del propio Sistema Operativo. Una de cuyas funcionalidades más importantes es el manejo de datos. En general, cada SO tiene su forma de organizar y controlar el acceso a los datos en el disco duro que le es específica, e independiente del medio físico (tipo de disco utilizado). Sin embargo, por razón de compatibilidad, y para mejor adaptarse a las distintas circunstancias, algunos Sistemas Operativos pueden utilizar distintos Sistemas de Ficheros (Linux es un caso paradigmático). MS-DOS Los sistemas MS-DOS ("MicroSoft Disc Opertating System"), PC-DOS y derivados, hasta el MS- DOS v.6.22, utilizan un sistema de ficheros conocido como FAT. El nombre se debe a una de sus estructuras principales, la tabla de situación de ficheros FAT ("File Allocation Table"). Como señala su propio nombre, el sistema utiliza una tabla donde se encuentran las direcciones de los ficheros en el disco. Las tablas FAT están contenidas en el disco junto con el resto de datos, aunque durante el funcionamiento normal se cargan en memoria. Dependiendo del espacio asignado para escribir en ellas reciben diversos "apellidos": FAT12, FAT16 y FAT32, que utilizan respectivamente 12, 16 y 32 bits para apuntar el número de cluster de un trozo de fichero (todas las versiones de MS-DOS previas a la 7.x utilizaban FAT12/16). Es un sistema de ficheros muy simple, aunque perfectamente adecuado a las pretensiones iniciales. La más evidente para el usuario es la limitación de 8 caracteres para los nombres de ficheros y de 3 para las extensiones. Fórmula conocida como 8+3. El sistema de ficheros de MS-DOS, que se comercializó con los primeros PCs de IBM, que carecían de disco duro (solo podían almacenar 160 KB de datos en su disco flexible), era en realidad una derivación del sistema de ficheros de CP/M ("Control program for microcomputers"). El sistema operativo de Gary Kildall, que había servido de inspiración al QDOS ("Quick and Dirty Operating System") de Tim Patterson, el "Padre" del DOS de Microsoft. El sistema era bastante ineficiente, ya que no estaba pensado para unidades grandes. Por esta razón, cuando IBM comenzó a dotar a sus equipos con unidades de disco de 10MB, Microsoft desarrollo un nuevo sistema de ficheros para su DOS 1.x, inspirado en el de UNIX (Microsoft había adquirido una licencia UNIX y había empezado a ofrecer una versión denominada XENIX). La capacidad crear particiones haciendo que aparezcan como una unidad de disco, fue añadida en el MS-DOS 3.2.
  • 3. Sistemas Windows windows ha utilizando dos sistemas de ficheros : FAT, en distintas versiones y NTFS . Si empezamos por el principio, Windows 3.x no era realmente un sistema operativo; más bien una interfaz gráfica sobre MS-DOS. La última versión: Windows 3.11 para trabajo en grupo, incluía una mejora llamada "32-Bit File Access" que en realidad se trataba de una forma de acceso a disco para rutinas de 32-bit en modo protegido, en vez de las rutinas normales DOS de 16 bits. De forma que la estructura del sistema de archivos seguía siendo la DOS tradicional. El Windows 95 inicial incluía un MS-DOS v.7.x que soportaba FAT16, mientras que una versión posterior, denominada OSR2 ("OEM Service Release 2") o Windows 95b, soportaba tambiénFAT32. El MS-DOS v.7.1 que venía con él también soporta FAT32. Por su parte Windows NT fue diseñado desde el principio para ser un sistema operativo de red y multitarea que rompiese definitivamente cualquier nexo con sus ancestros MS-DOS. Soporta dos sistemas de fichero: su sistema "nativo", denominado NTFS ("New Technology File System") es un sistema de ficheros estilo UNIX/DOS. El segundo es el tradicional FAT32, incluido meramente por razones de compatibilidad y para permitir que los equipos puedan tener lo que se denomina arranque dual ("dual boot"), UNIX Este sistema es propio de máquinas grandes utilizadas generalmente por muchos usuarios. Nació en entornos académicos y de investigación, por lo que dispone de mecanismos de protección y cooperación entre grupos de trabajo muy desarrollados. Existen varios dialectos de UNIX, aunque uno de ellos, Linux, se ha popularizado mucho en el mundo de la informática personal. Aunque la arquitectura de su sistema de ficheros sirvió de inspiración para las últimas versiones de MS-DOS, es totalmente incompatible con los sistemas FAT. Aunque originarios de un tronco común (el Unix de AT&T), existen distintas variedades que, en lo referente a su FS, se diferencian en cuestiones de detalle. Principalmente relacionadas con la forma en que se heredan las propiedades de los nuevos ficheros en función de las propiedades del directorio padre o del proceso que los crea. Linux Este sorprendente sistema, fue desarrollado inicialmente por un estudiante (Linux Benedict Thorwald) según un diseño inspirado en Minix (un dialecto simplificado de UNIX diseñado por Andrew S. Tanenbaum). Posteriormente fue convertido por su creador en un SO "freeware" y rápidamente "adoptado" por la comunidad informática internacional, que le ha ido añadiendo infinidad de opciones, utilidades y mejoras. Es rápido, fiable y muy optimizado. El sistema de archivos Linux es distinto de los sistemas FAT, aunque dispone de una utilidad denominada mtools que da soporte a FAT32. Con el tiempo se le ha dotado de distintos sistemas de ficheros, de forma que sus usuarios pueden elegir entre una amplia variedad de opciones y tener acceso (en ocasiones restringido) a una enorme cantidad de formatos. El sistema es muy flexible, permitiendo incluso montar un sistema de ficheros de raíz única, que comprenda unidades físicas con sistemas distintos entre sí (unidades con formatos distintos). Entre los sistemas de fichero que Linux puede utilizar o "entender" se encuentran: bfs; minix; ext; ext2; ext3; xia; xfs; msdos; umsdos; vfat; jfs;
  • 4. reiserfs; nfs; is o9660; hpfs; sysv; smb y ncpfs. características de los más usados: ext: Es una extensión del sistema de ficheros Minix (de ahí su nombre), aunque más elaborada. Su desarrollo fue suspendido en favor de ext2. A partil de la versión 2.1.21 ya no se incluye en el kernel de Linux. ext2: Puede decirse que actualmente (2005) esta segunda "extensión" del sistema Minix, es el modelo "oficial" y más extendido en el mundo Linux. Es un sistema de ficheros de alto rendimiento que, en términos de velocidad y consumo de UCP, presenta las mejores prestaciones de entre los sistemas soportados por Linux, aunque no está exento de inconvenientes. Está dotado de una estructura estática y con relativamente poco espacio para anotar particiones excepcionalmente grandes o con gran número de ficheros en cada directorio. Aunque en honor a la verdad, estos límites son enormes: 32,768 subdirectorios en cada directorio; de 10,000 a 15,000 ficheros por directorio, y 4 Terabytes de capacidad. Sin embargo, quizás la principal limitación es que su estructura de listas encadenadas (similar a las FAT 8.1.2a1) no es especialmente adecuada para volúmenes muy grandes (desde luego, el concepto actual -2005- de "muy grande", no es el mismo que el de hace 10 años). ext3: Es una versión "journaling" del anterior. Es decir, un sistema capaz de anotar las "transacciones" (operaciones) realizadas, y en caso necesario, disponer de cierta capacidad de rehacer los últimos cambios. El journaling garantiza la consistencia de los ficheros, ya que las operaciones de escritura/borrado de disco suponen distintos accesos y actualizaciones; sobre los datos y sobre los metadatos (tablas FAT por ejemplo . En caso de accidente. Por ejemplo, un apagado súbito, algunas operaciones pueden quedar sin realizar, produciendo inconsistencias en el sistema de ficheros. En estos casos, el sistema tradicional consiste en recurrir al empleo de utilidades (como fsck en Linux; fdisk en Windows, o el patético recover del DOS) que verifican la estructura lógica e intentan reparar los desperfectos (al menos evitar que sean origen de nuevos estropicios). El problema es que con frecuencia tales utilidades no resuelven el problema. Además, las rutinas necesarias después del "crash" de un gran sistema pueden requerir horas o incluso días de proceso. En cambio los sistemas journaling pueden rehacer la actualización que quedó incompleta (o anularla totalmente) en cuestión de minutos. El resultado es que estos sistemas son mucho más rápidos en el rearranque después de una incidencia. Algo que es especialmente valorado en determinados entornos de explotación (pensemos por ejemplo, en un gran banco). hpfs: Es el "High Performance File System" utilizado por OS/2 de IBM . Aunque, debido a la ausencia de documentación al respecto, Linux solo ofrece capacidad de lectura (importar sus datos) desde estos sistemas de fichero. iso9660: Es el sistema de ficheros utilizados en los CD-ROMs. Es un estándar para grabar ficheros de datos en los dispositivos ópticos como CDs y DVDs implementado en todos los sistemas que montan estos dispositivos. Como no podía ser menos, Linux soporta las dos versiones del estándar: High Sierra y Rock Ridge. jfs: Al igual que ext3, jfs es un sistema de ficheros
  • 5. "journalista". Desarrollado inicialmente por IBM para sus sistema OS/2 Warp , su código fue donado al Open Source Consortium a principios del 2000 y portado a Linux poco después. Se incluye en los kernel a partir de la versión 2.5.6, aunque puede instalarse como un parche en las versiones 2.4.x. Es un sistema muy adecuado para entornos empresariales que permite volúmenes muy grandes y utiliza técnicas avanzadas para mejorar el rendimiento. Una de sus características es que utiliza un sistema de asignación dinámica para los "inodes" que asigna o libera el espacio según las necesidades. La ventaja es que, al contrario que en otros sistemas. Porejemplo,ext2 , no es necesaria una estimación previa del espacio que se reservará a los inodes al crear el sistema de ficheros . minix: Es el sistema de ficheros nativo del SO de igual nombre. Fue el primero de los disponibles para Linux, ya que como hemos indicado, el desarrollo original de éste se basó en aquel. Aunque adolece de importantes limitaciones (Minix es más un sistema pensado para la enseñanza que para explotación comercial , se sigue utilizando en disquetes y en unidades de disco RAM. msdos: Es la versión Linux del sistema de ficheros DOS tradicionalmente usado por los PCs IBM, Windows y PS/2. La versión Linux adolece de las mismas limitaciones que el DOS original. Umsdos: Una extensión Linux del anterior que elimina alguna de sus limitaciones, como la de nombres cortos (8+2). Al tiempo que añade algunas capacidades nuevas. Por ejemplo, la designación de dispositivos de E/S como ficheros (algo muy común en el mundo Unix); posibilidad de definir tuberías ("pipelines") para utilizar la salida de un comando como entrada de otro. etc. Nfs: Es el sistema de ficheros de red ("Network File System") que permite acceder ficheros situados en ordenadores remotos. Ncpfs: Un sistema de ficheros de red que soporta el protocolo NCP ("NetWare Core Protocol") de Novell . Permite acceder y manejar los recursos de un servidor NetWare desde Linux. reiserfs: Otro sistema de ficheros "journalista" de código abierto y disponible en la mayoría de distribuciones de Linux, diseñado por Hans Reiser y colaboradores en Namesys. Aunque presenta unas excelentes prestaciones en el manejo de ficheros grandes, una de sus características distintivas es su adecuación para manejar infinidad de ficheros pequeños. Su filosofía es que los ficheros pequeños estimulan la sencillez del código. ¡En lugar de utilizar una base de datos para manejar su información, utilice el sistema deficheros reiserfs resulta de 8 a 15 veces más rápido que ext2 en el manejo de ficheros de menos de 1 KB, y con la configuración adecuada, puede almacenar un 6% más de datos que aquel en el mismo dispositivo. En lugar de manejar clusters de tamaño fijo, su diseño le permite utilizar el
  • 6. espacio exactamente a medida de la necesidad. Los metadatos están orgnizados en una estructura de árbol ordenado bastante sofisticada (B+Tree , que además de gestionar los metadatos, almacena y comprime los despuntes (trozos de fichero que no alcanzan a ocupar un cluster). smb: Otro sistema de ficheros de red, que soporta SMB ("Server Message Block"), un protocolo utilizado por Windows para trabajo en grupo (Windows 3.1); Windows NT, y Lan Manager de IBM. Permite compartir ficheros; impresoras; puertos serie y otras abstracciones utilizadas para comunicación entre ordenadores, como tuberías y buzones de correo. Sysv: Es una implementación Linux del sistema de ficheros SystemV de Unix. Soporta las variedades Xenix FS (versión Microsoft de Unix); SystemV/Coherent; SystemV/386 y Coherent FS. xfs: En concordancia con la política de apoyo a Linux emprendida por algunas grandes compañías, Silicon Graphics, más conocida como SGI, ha distribuido una versión Linux de su sistema de ficheros XFS, diseñado originariamente para sus sistemas IRIX. En concordancia con sus orígenes, se trata de un sistema "journalista" de altas prestaciones, que soporta bitácora o registro de las transacciones con los metadatos [3], así como "granjas" de discos ("disk farms") extremadamente grandes. Uno de estos sistemas es 15 capaz de gestionar 18,000 Petabytes (10 bytes y un solo fichero puede alcanzar 9,000 Petabytes. xiafs: Fue otra extensión del sistema de ficheros inicial (Minix) con intención de mejorar sus conocidas deficiencias. Su desarrollo y mantenimiento fueron abandonados a partir de la versión 2.1.21 del kernel. Squashfs: un sistema de ficheros de solo-lectura altamente comprimido, implementado como un módulo del kernel bajo VFS ("Virtual File System"). Puede ser útil en aplicaciones embebidas que requieran gestionar gran cantidad de datos de forma eficiente. El seudo-fichero /proc/filesystems contiene información sobre los módulos cargados por el kernel de Linux. Puede utilizar el comando cat /proc/filesystems para inspeccionar su contenido. Si ejecuta el comando, seguramente verá (entre otras) las siguientes líneas: OS/2 Este sistema operativo de IBM también fue popular dentro de ciertos círculos del mundo PC. Principalmente clientes corporativos de la compañía. Utiliza un sistema de archivos específico denominado HPFS ("High Performance File System") que permite nombres de ficheros de hasta 254 caracteres y soporta la coexistencia de varios sistemas de fichero en el mismo equipo utilizando distintos dispositivos. En especial unidades FAT12 y FAT16. Su utilidad de formateo permitía seleccionar entre el modo FAT y el HPFS vernáculo. Las versiones 1 y 2 se denominaron OS/2, mientras que la 3 apareció bajo el nombre OS/2
  • 7. Wrap. Aparte de los programas escritos específicamente para él, el sistema permitía ejecutar programas DOS y Windows. Desde luego era superior técnicamente a los Windows de la época. Resultaba casi imposible "colgarlo", cosa que distaba mucho de ocurrir con aquellas versiones de Windows, famosas por sus pantallas azules BSoD ("Blue Screen of Death"), y podía instalarse sobre una máquina DOS, Windows 3.1/3.11, o Windows for Workgroups 3.1/3.11, sin perder la posibilidad de ejecutar las aplicaciones de estos sistemas. Disponía incluso de un sistema de carga dual que permitía arrancar en OS/2 o en DOS. Incluía un "BonusPack" que, ya en 1994 (entre otras) incluía IBM Internet Connection, una utilidad que permitía: "enviar correos electrónicos, acceder a tablones de anuncios, buscar información, conectar con otros sistemas y transferir archivos a su sistema" . Macintosh El sistema de la manzana utiliza para organizar datos en discos duros y disquetes es un sistema de archivos denominado HFS ("Hierarchical File System"). Netware Este Sistema operativo de Novell utiliza un sistema de ficheros denominado NFS ("Netware File System"), que fue diseñado específicamente para servidores de red. Este es quizás el único punto en contra, razón por la cual no era tan utilizado como los sistemas FAT hasta que Microsoft empezó a utilizarlo como sistema por defecto en algunas versiones avanzadas de Windows.