2. SISTEMAS DE ARCHIVOS
• Estructuran la información guardada en una unidad
de almacenamiento, que luego será representada ya
sea textual o gráficamente utilizando un gestor de
archivos.
• La mayoría de los sistemas operativos manejan su
propio sistema de archivos.
• Los sistemas de archivos se dividen en:
▫ Nativos:
Tradicionales
Journaling
▫ Foráneos
Microsoft
Apple
▫ Miscelaneos
Red
3. Nativos Tradicionales
• Un sistema de archivos nativo es aquel que
puede utilizarse como el sistema de archivo
primario para un sistema operativo.
• Linux puede ejecutar utilizando nada más que
un único sistema de archivo nativo; es decir, no
necesita una combinación de dos o más sistemas
de archivos.
4. Algunos de los Sistemas de archivos nativos
tradicionales de LINUX son los siguientes:
• MINIX es un clon del sistema operativo Unix distribuido junto con
su código fuente y desarrollado por el profesor Andrew S.
Tanenbaum en 1987.
• Minix fue desarrollado para correr sobre IBM PC con
microprocesador Intel 8088 o superior, aunque se han creado
conversiones para otros sistemas.
• Actualmente Minix se distribuye con una licencia similar a la
licencia BSD, lo que permite su modificación.
• Para una persona poco familiarizada con los elementos internos de
un sistema operativo, MINIX es una buena opción que le permite
entender casi todos los elementos del sistema con solo algunos
meses de uso y estudio.
5. Estructura de MINIX
• Capa 1
▫ Esta es la capa que interactúa directamente con el hardware
• Capa 2
▫ Contiene todo lo concerniente a los procesos de E/S, uno por cada
tipo de dispositivos (tareas).
• Capa 3
▫ Aglutina los procesos conocidos como procesos servidores. Se
ejecutan en un nivel menos privilegiado que el kernel o las tareas, y
no acceden directamente a los puertos de entrada y sálida.
• Capa 4
▫ Finalmente aquí se alojan todos los procesos de usuario tales como
Shells, editores, compiladores, programas, etc.
6. EXTENDED O EXT
• Fue el primer sistema de archivos creado
específicamente para el sistema operativo Linux.
Fue diseñado por Rémy Card para vencer las
limitaciones del sistema de archivos MINIX.
• El sistema de archivos extendido, comúnmente
conocido como ext o EXTFS y llamada ext en el
comando mount, era un diseño único que se
endeudó fuertemente a partir otros sistemas de
archivos de Unix. EXTFS ha sido superado, y fue
retirado de la kernel estándar de Linux con la
serie 2.2.x del kernel.
7. EXT2
• Utiliza un código de montaje de ext2.
• Era el sistema de archivos estándar para los
sistemas Linux hasta distribuciones de 2001,
pero en 2001 y 2002, muchos han comenzado a
promover diario sistemas de archivos.
• Ext2fs se basa en EXTFS pero se ha ampliado
considerablemente las capacidades.
Ext2fs es la base para el desarrollo del sistema
de archivos de diario uno.
8. XIAFS
• Era un sistema de archivos para el sistema
operativo Linux , que fue concebido y
desarrollado por Frank Xia y se basó en el
sistema de ficheros Minix .
• Hoy en día es obsoleto y no está en uso, salvo
posiblemente en algunas instalaciones
históricas.
9. ISO - 9660
• Este sistema de ficheros es inusual, ya que su uso está
restringido a los discos CD-ROM.
• En cierto sentido, no es realmente un sistema de ficheros
nativo, pero como los CD-ROM para uso en Linux
siempre utilizaron el sistema de archivos ISO-9660.
• La norma ISO-9660 es muy limitado en longitud de
nombre de archivo, y carece de la propiedad de Linux y
los permisos.
• Otro sistema de ficheros, Joliet, se utiliza en junto con al
menos un mínimo sistema de ficheros ISO-9660 y
proporciona nombres largos para los sistemas Windows.
Linux también puede leer Joliet CD-ROM, si el soporte
adecuado es
compilado en el núcleo.
10. JOURNALING
• Es un mecanismo por el cual un sistema
informático puede implementar transacciones.
También se le conoce como «registro por
diario».
• Se basa en llevar un journal o registro de diario
en el que se almacena la información necesaria
para restablecer los datos afectados por la
transacción en caso de que ésta falle.
11. EXT3
• Es una extensión de ext2fs.
• La idea básica es tomar ext2fs y añadir un diario. Uno de
este sistema de ficheros, una de las grandes ventajas es
que puede convertir un sistema de ficheros ext2 en un
sistema de archivos ext3 mediante la ejecución de un
solo comando, los datos permanecen intactos.
• También utiliza ext2fs estándar en empresas de servicios
públicos para crear, afinar, y de otra manera manipular
sistemas de archivos.
• Como usted puede esperar, ext3fs de código de tipo es
ext3. Este sistema de archivos está incluido en los
kernels 2.4.x, y es el sistema de ficheros por defecto para
algunas distribuciones, como Red Hat 7.3.
12. REISERFS
• Es un diseño completamente nuevo, que se
añadió a la 2.4.1 el kernel de Linux.
• ReiserFS se ha ganado una reputación de
estabilidad y uso eficiente del espacio de los
discos, sobre todo cuando una partición tiene
muchos archivos pequeños.
• Utiliza el código de tipo reiserfs para acceder a
particiones ReiserFS.
• ReiserFS es el sistema de archivos preferido para
algunos distribuciones, como SuSE.
13. XFS
• Es un sistema de archivos de 64 bits con Journaling de
alto rendimiento creado por SGI (antiguamente Silicon
Graphics Inc.) para su implementación de UNIX llamada
IRIX. En mayo de 2000, SGI liberó XFS bajo una
licencia de código abierto.
• XFS se incorporó a Linux a partir de la versión 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 instalación de las distribuciones de
SuSE, Gentoo, Mandriva, Slackware, Fedora Core,
Ubuntu y Debian ofrecen XFS como un sistema de
archivos más.
• En FreeBSD el soporte para solo-lectura de XFS se
añadió a partir de Diciembre de 2005 y en Junio de
2006 un soporte experimental de escritura fue
incorporado a FreeBSD-7.0-CURRENT.
14. 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 diseñado con la idea de conseguir "servidores de alto
rendimiento y servidores de archivos de altas
prestaciones, asociados a e-business".
• JFS utiliza un método interesante para organizar los bloques
vacíos, estructurándolos en un árbol y usa una técnica
especial para agrupar bloques lógicos vacíos.
• JFS fue desarrollado para AIX. La primera versión para Linux
fue distribuida en el verano de 2000. La versión 1.0.0 salió a
la luz en el año 2001.
• JFS está diseñado para cumplir las exigencias del entorno de
un servidor de alto rendimiento en el que sólo cuenta el
funcionamiento.
• Al ser un sistema de ficheros de 64 bits, JFS soporta ficheros
grandes y particiones LFS (del inglés Large File Support), lo
cual es una ventaja más para los entornos de servidor.
15. FORANEAS
• Además de sus sistemas de archivos nativos de
Linux, soporta una amplia gama de sistemas de
archivos que se usan principalmente con los
otros sistemas operativos. Este apoyo es
importante en el sistema de archivos de
configuraciones de inicio dual, en el intercambio
de medios extraíbles entre sistemas operativos, y
cuando el uso de Linux para recuperar datos de
un disco duro que originalmente residía en otro
equipo.
16. SISTEMAS DE ARCHIVOS DE MICROSOFT
• Cuando se utiliza en un entorno de doble arranque,
Linux a menudo debe convivir con una u otra
versión de Windows.
• Además, los medios extraíbles, disquetes, discos Zip,
LS-120 discos, y así sucesivamente a menudo se
crean en los sistemas Windows.
• Por eso es importante el soporte de Linux los
sistemas de ficheros de Microsoft.
• Afortunadamente, Linux incluye al menos un apoyo
mínimo para todos los siguientes sistemas de
ficheros de uso común en Windows y en sistemas
operativos relacionados con:
▫ FAT
▫ HPFS
▫ NTFS
17. FAT
• El FAT (File Allocation Table) es una estructura
de datos que da nombre a sistema de archivos de
Windows 9x/Me 's. Originalmente utilizado en
las computadoras DOS.
• FAT se ha ampliado de dos maneras:
▫ El tamaño de la estructura de datos FAT.
▫ La capacidad para almacenar nombres de archivo
largos.
18. HPFS
• Sistema de archivos de altas prestaciones, fue creado
específicamente para el sistema operativo OS/2 para mejorar
las limitaciones del sistema de archivos FAT. Fue escrito por
Gordon Letwin y otros empleados de Microsoft, y agregado a
OS/2 versión 1.2, en esa época OS/2 era todavía un desarrollo
conjunto entre Microsoft e IBM.
• Se caracterizaba por permitir nombres largos, metadatos e
información de seguridad, así como de autocomprobación e
información estructural.
• Hoy en día, IBM utiliza HPFS en su línea de productos OS / 2.
El soporte de Linux de HPFS era de sólo lectura a través de la
serie 2.2.x del kernel, pero una lectura / escritura de los
buques HPFS conductor con kernels 2.4.x.
• Este controlador es inusual, ya que almacena la propiedad de
Linux, el grupo, los permisos, y otras características que
utilizan los atributos extendidos HPFS (EAS), que OS / 2
utiliza para almacenar los iconos y otros archivos de datos
auxiliares.
19. NTFS
• El Nuevo Sistema de Archivos de Tecnología (NTFS) es el sistema de
archivos preferido para Windows NT, 2000 y XP.
• NTFS es un sistema de archivos de diario bastante avanzada que
soporta un sistema de propiedad similar a los nombres de usuario
de Linux.
• Por desgracia, el soporte de Linux de NTFS es débil. A pesar de
lectura / escritura de los conductores han estado disponibles en los
kernels 2.2.x, y más tarde, el soporte de escritura está marcado
como "peligroso" en los scripts de compilación del kernel.
• Además, estos controladores no son compatibles con las
características de seguridad de NTFS. Con el lanzamiento de
Windows 2000, Microsoft hizo cambios en NTFS (a menudo
denominado como NTFS 5,0).
• Los controladores de Linux de NTFS puede hacer frente a
particiones NTFS 5.0, pero utilizando la lectura / escritura de apoyo
en estas particiones es aconsejable. Código de tipo Linux para las
particiones NTFS es NTFS. Red Hat no incluye un controlador
NTFS compilado en su instalación por defecto, por lo que debe
buscar uno o recompilar el núcleo si quiere acceder a las particiones
NTFS de Red Hat.
20. SISTEMAS DE ARCHIVOS DE APPLE
• Si ejecuta Linux en una computadora Macintosh
o la necesidad de intercambiar datos con
usuarios de Macintosh, es muy probable que
necesite soporte para un sistema de archivos
para Macintosh. En 2002, cuatro sistemas de
archivos existen, aunque sólo tres son de uso
común y los dos únicos pilotos deportivos de
Linux:
▫ MFS
▫ HFS
21. MFS
• Macintosh File System es un formato de volumen (o
sistema de archivos) creado por Apple Computer para
almacenar archivos en disquetes de 400K.
• MFS fue introducido con el Macintosh 128K en enero de 1984.
• MFS era notable tanto por introducir los fork de recurso para
permitir el almacenamiento de datos estructurados así como
por almacenar metadatos necesitados para el funcionamiento
de la interfaz gráfica de usuario de Mac OS.
• MFS permite que los nombres de archivo tengan una longitud
de hasta 255 caracteres, aunque Finder no permite que los
usuarios creen nombres de más de 63 caracteres de longitud.
A MFS se le denomina como sistema de archivo plano porque
no admite carpetas.
• Apple introdujo el HFS como reemplazo para MFS en
septiembre de 1985. En Mac OS 7.6.1, Apple dejó de prestar
servicio de escritura en volúmenes MFS, y en Mac OS 8 fue
quitado en conjunto la compatibilidad con volúmenes MFS.
22. HFS
• Sistema de Archivos Jerárquico o Hierarchical
File System , es un sistema de archivos desarrollado
por Apple Inc. para su uso en computadores que corren
Mac OS.
• Originalmente diseñado para ser usado en disquetes y
discos duros, también es posible encontrarlo en
dispositivos de solo-lectura como los CD-ROMs.
• HFS es el nombre usado por desarrolladores, pero en la
documentación de usuarios el formato es referido como
estándar Mac Os para diferenciarlo de su sucesor HFS+
el cual es llamado Extendido Mac Os.
23. HFS+
• HFS Plus o HFS+ es un sistema de archivos desarrollado por Apple
Inc. para remplazar al HFS (Sistema jerárquico de archivos).
• También es el formato usado por el iPod al ser formateado desde
un Mac.
• HFS Plus también es conocido como HFS Extended y Mac OS
Extended. Durante el desarrollo, Apple se refirió a él con el
nombre clave Sequoia.
• HFS Plus es una versión mejorada de HFS, soportando archivos
mucho más grandes (Bloques direccionables de 32 bits en vez de
16) y usando Unicode (En vez de Mac OS Roman) para el nombre de
los archivos, lo que además permitió nombres de archivo de hasta
255 letras.
• HFS Plus permite nombres de fichero de hasta 255 caracteres de
longitud UTF-16, y archivos n-bifurcados similares a NTFS, aunque
casi ningún software se aprovecha de bifurcaciones con excepción
de la bifurcación de los datos y de la bifurcación del recurso.
24. FFS
• Mac OS X ofrece la opción de utilizar el sistema de archivos de
Unix rápido (FFS). Muchos sistemas MacOS X continuan
usando HFS +,sin embargo.
Si usted necesita para el intercambio de medios extraíbles
entre los sistemas Macintosh y Linux, puede hacerlo.
• HFS es la mejor opción para un sistema de archivos, y si se
utiliza un disquete, que tiene que ser un disquete de 1,44 MB o
una rara 720KB disquete HFS. Alternativamente, puede
utilizar FAT, ya que los Macintosh modernos soportan FAT.
En teoría, se puede utilizar para el intercambio de la ECA con
un Macintosh con Mac OS X, pero esta opción es tediosa de
implementar.
Si ejecuta Linux en una computadora Macintosh, es posible
que desee crear una partición HFS para poder ser utilizado
para el intercambio de datos entre Linux y MacOS. Debido a
que Linux no puede leer particiones HFS +, esta partición de
intercambio de datos es una necesidad práctica cuando se
quiere compartir archivos a través de sistemas operativos.
25. VARIOS SISTEMAS DE FICHEROS
• Además de Microsoft y sistemas de archivos de
Apple, Linux soporta una gran variedad de otros
extranjeros sistemas de archivos.
• La mayoría son de utilidad muy limitada y el
interés.
• Éstos son algunos aspectos destacados:
▫ BEFS
▫ FFS/UFS
▫ UDF
26. BEFS
• El sistema de archivos Be (BFS, a veces mal llamada como
BeFS-los BeFS nombre se usa en el kernel de Linux para evitar
cualquier confusión con el sistema de archivos de arranque ) es el
nativo del sistema de archivos para el BeOS .
• BFS ha sido desarrollado por Giampaolo Domingo y Cirilo
Meurillon lo largo de un período de diez meses, a partir de
septiembre de 1996, para proporcionar BeOS con un moderno de
64 bits capaces de sistema de archivos de diario . Se trata de
mayúsculas y minúsculas y capaces de ser utilizado en disquetes
, los discos duros y medios de sólo lectura, tales como CD-ROMs .
Sin embargo, su uso en pequeños dispositivos extraíbles no es
aconsejable, ya que las cabeceras del sistema de archivos consumir
de 600 KB hasta 2 MB, lo que hace disquetes prácticamente inútil.
27. UFS
• Unix File System (UFS) es un sistema de archivos
utilizado por varios sistemas operativos UNIX y
POSIX. Es un derivado del Berkeley Fast File
System (FFS), el cual es desarrollado desde FS
UNIX (este último desarrollado en los Laboratorios
Bell).
• Casi todos los derivativos de BSD incluyendo a
FreeBSD, NetBSD, OpenBSD, NeXTStep, y Solaris
utilizan una variante de UFS. En Mac OS X está
disponible como una alternativa al HFS. En Linux,
existe soporte parcial al sistema de archivos UFS, de
solo lectura, y utiliza sistema de archivos nativo de
tipo ext3, con un diseño inspirado en UFS.
28. • Un sistema de archivos UFS se compone de las siguientes partes:
▫ Unos pocos bloques al inicio de la partición reservados para bootstrap (el
cual debe ser inicializado separadamente del sistema de archivos).
▫ Un supe bloque que contiene un número mágico (del inglés magic
number) identificando esto como un UFS, y algunos otros números
vitales describiendo la geometría y parámetros de puesta a punto del
comportamiento.
▫ Una colección de grupos de cilindros. Cada grupo de cilindros tiene estos
componentes:
un respaldo del superbloque.
una cabecera de cilindro, con estadísticas, lista de espacio libre, etc. acerca
de este bloque de cilindros, similar a los que se encuentran en el
superbloque.
un número de inodos, cada cual conteniendo los atributos del archivo.
un número de bloques de datos.
▫ Los inodos son numerados secuencialmente. Los primeros inodos están
reservados por razones históricas, seguidos por los inodos del directorio
raíz.
▫ Los archivos de directorio contienen sólo la lista de archivos en el
directorio y el inodo asociado para cada archivo. Todos los metadatos
(metadata) son mantenidos en el inodo.
29. SISTEMAS DE ARCHIVOS DE RED
• NFS Sistema de Archivos de Red (del inglés Network File
System) y fue desarrollado por SUN Microsystems en 1984.
• Su función en una red es permitir que un equipo GNU/Linux
pueda montar y trabajar con un sistema de archivos de otro
equipo de la red como si fuera local.
• El servicio NFS utiliza las llamadas a procedimientos remotos
basadas en el protocolo RPC (del inglés, Remote Procedure
Call) que permite desde un equipo (cliente) ejecutar código
ubicado en otro equipo remoto (servidor) mediante el
establecimiento de sockets (IP+puerto) entre ambas.
• Aunque al servicio se le suele conocer con el nombre NFS,
realmente NFS es un protocolo de nivel de Aplicación y por
debajo, el protocolo subyacente que utiliza NFS son
las Llamadas a Procedimientos Remotos (RPC) de nivel de
Sesión, también utiliza TCP/UDP en el nivel Transporte e IP
en el nivel de Red.
30. • NFS es un protocolo sin memoria (state-less) en
algunas de sus versiones. Es decir, el servidor no
recuerda las solicitudes anteriores. Por
tanto, cada llamada a un procedimiento contiene
toda la información necesaria para su
finalización. Si el servidor NFS falla, el sistema
cliente repetirá las solicitudes de NFS hasta que
obtenga una respuesta. Además, el servidor no
realiza tareas de recuperación frente a fallos.
31. CODA
• Coda es un sistema de archivos distribuido desarrollado como un
proyecto de investigación en la Universidad Carnegie
Mellon desde 1987 bajo la dirección de M. Satyanarayanan.
Desciende directamente de una antigua versión de AFS(AFS-2) y
ofrece muchas características similares. El sistema de
archivos InterMezzo está, a su vez, inspirado en Coda. Coda
todavía está en desarrollo, aunque el interés se ha desplazado
desde la investigación hacia la creación de un producto robusto
para uso comercial.
32. Características de CODA
• Coda es un sistema de archivos distribuido que tiene sus
orígenes en AFS2. Tiene múltiples características que
son deseables en la mayoría de sistemas de archivos.
Además, tiene algunas características propias.
• puede funcionar sin conexión
• es software libre
• gran rendimiento gracias a la caché persistente en el
cliente
• replicado de servidores
• modelo de seguridad para autenticación, cifrado y
control de acceso
• funcionamiento continuado durante fallos de red
• ajuste del ancho de banda de red
• escala bien
33. SMB/CIFS
• El Sistema de Archivos Común para Internet
• (CIFS) provee una serie de mecanismos abiertos e
independientes de la plataforma utilizada, paraque
sistemas clientes soliciten servicios de ficheros a otras
máquinas a través de la red. Este protocolo es una
implementación del conocido como Bloque de Mensajes
del Servidor (SMB), usado principalmente por
ordenadores con Windows. Microsoft ha redefinido
nuevos dialectos del protocolo (SMB2 lanzado con
Windows Vista y SMB2.1 con Windows 7), para mejorar
el rendimiento y reducir la complejidad de las
comunicaciones.
34. • Las características principales de CIFS son:
▫ Acceso a ficheros, permitiendo compartir información
en lectura y escritura.
▫ Acceso bloqueado y desbloqueado tanto a ficheros
como a registros.
▫ Notificación de cambios en ficheros y directorios.
▫ Inclusión de atributos extendidos.
▫ Independencia del protocolo de resolución de
nombres.
• Las Extensiones de CIFS para UNIX
▫ son normas de reciente creación y sólo están
implementadas en las versiones 2.6 de los servicios de
ficheros del núcleo de Linux, mientras que los antiguos
necesitan ser compilados o generar un módulo propio
para la gestión de clientes CIFS, aunque soportan el
montaje de sistemas de archivos SMBFS.
35. NCP
• Los NetWare Core Protocols (o protocolos NCPs) son un conjunto de llamadas
primitivas a servicios que se encargan de convertir las operaciones de alto
nivel que realiza el usuario en peticiones que se envían por la red a través de
los protocolos de capas inferiores.
• Los NCPs se dividen en varias categorías, dependiendo de la función que
realicen. Algunos de los más importantes son los siguientes:
▫ NCPs AFP: permiten crear, modificar y eliminar directorios y archivos de formato Apple
Macintosh en un servidor Novell NetWare.
▫ NCPs Bindery: se utilizan para gestionar los objetos relacionados con la administración
de seguridad y permisos Novell.
▫ NCPs de conexión: permiten crear, mantener y liberar conexiones entre estaciones
cliente y servidores.
▫ NCPs de migración de datos: se utilizan para colocar archivos desde o hacia dispositivos
de almacenamiento masivo (CD-ROM, cintas, etc.) con el fin de reducir el espacio
ocupado en los volúmenes de los servidores.
▫ NCPs del sistema de archivos: se utilizan para manipular (crear, modificar, etc.) y
obtener información (nombre, permisos de acceso, tamaño, etc.) sobre
ficheros, directorios y volúmenes.
▫ NCPs de mensaje: sirven para enviar mensajes de difusión por la red, con el objetivo de
obtener estaciones y servidores conectados, servicios ofrecidos, etc.
▫ NCPs de impresión: permiten la utilización de los servidores de impresión en Novell.