Sistemas de archivos

1,958 views
1,897 views

Published on

Published in: Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,958
On SlideShare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
43
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Sistemas de archivos

  1. 1. º INSTITUTO TECNOLOGICO DE TEHUACAN CARRERA: INGENERIA EN SISTEMAS COMPUTACIONALES ALUMNO: MANUEL MIRANDA BUENABAD DOCENTE: LIC.FRANCISCO VAZQUEZ GUZMAN MATERIA: ADMINISTRACION DE REDES TEMA:SISTEMA DE ARCHIVOS
  2. 2. Sistemas de Archivos IntroducciónLa estructura que alberga la información en los discos es conocida con el nombre de sistema deficheros (abreviadamente FS "File System"). Un sistema de ficheros es una estructura lógica quese supone las más adecuada y eficiente para el manejo de datos en base a las características delhardware disponible (discos) por esta razón, su estudio se mueve en la frontera entre el hardware yel 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 elrendimiento del propio Sistema Operativo. Una de cuyas funcionalidades más importantes es elmanejo de datos. Nota: Precisamente el SO UNIX nació a partir de la idea de crear un sistema de ficheros que permitiese a los usuarios de un sistema GE 635 [7] de los Laboratorios Bell de AT&T, trabajar simultáneamente sin interferirse.Naturalmente, las exigencias del Sistema dependen de su utilización. No son de esperar lasmismas necesidades en el sistema de ficheros de una computadora personal, con un SO tipo DOScon un solo usuario ejecutando una sola tarea, que las de un sistema multiprograma en las quedistintos usuarios pueden ejecutar concurrentemente distintas tareas, quizás utilizandosimultáneamente ficheros alojados en máquinas remotas. En general, cada SO tiene su forma deorganizar y controlar el acceso a los datos en el disco duro que le es específica, e independientedel medio físico (tipo de disco utilizado). Sin embargo, por razón de compatibilidad, y para mejoradaptarse a las distintas circunstancias, algunos Sistemas Operativos pueden utilizar distintosSistemas de Ficheros (Linux es un caso paradigmático). Datos y metadatosComo veremos a continuación, existe un amplio repertorio de estos sistemas. Cada uno con unaorientación, diseño y pretensiones específicas, pero todos comparten un principio común: juntocon los datos propiamente dichos, el disco debe contener las estructuras que los organizan eindexan. Estas estructuras son conocidas como metadatos o meta-estructuras (datos sobre losdatos). En realidad, el caballo de batalla del diseño de un sistemas de ficheros, se centraprecisamente en el diseño de sus meta-estructuras. Las bondades y cualidades del producto final,dependen en gran medida del acierto y características de esta parte del diseño.Una vez introducidos en el capítulo anterior los conceptos y vocabulario indispensables, daremosun breve repaso a las características de los sistemas de ficheros de los Sistemas Operativos máspopulares. Posteriormente nos centrarnos más detalladamente en el sistema FAT por ser quizás elmás extendido y en el sistema ext2 de Linux de importancia creciente en la informática actual.§3 MS-DOSLos 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 susestructuras principales, la tabla de situación de ficheros FAT ("File Allocation Table").
  3. 3. Como señala su propio nombre, el sistema utiliza una tabla donde se encuentran las direccionesde los ficheros en el disco. Las tablas FAT están contenidas en el disco junto con el resto dedatos, aunque durante el funcionamiento normal se cargan en memoria. Dependiendo del espacioasignado para escribir en ellas reciben diversos "apellidos": FAT12, FAT16 y FAT32, que utilizanrespectivamente 12, 16 y 32 bits para apuntar el número de cluster de un trozo de fichero (todaslas versiones de MS-DOS previas a la 7.x utilizaban FAT12/16).Es un sistema de ficheros muy simple, aunque perfectamente adecuado a las pretensionesiniciales. La más evidente para el usuario es la limitación de 8 caracteres para los nombres deficheros 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, quecarecían de disco duro (solo podían almacenar 160 KB de datos en su disco flexible), era enrealidad una derivación del sistema de ficheros de CP/M ("Control program formicrocomputers"). El sistema operativo de Gary Kildall, que había servido de inspiraciónal QDOS ("Quick and Dirty Operating System") de Tim Patterson, el "Padre" del DOS deMicrosoft. El sistema era bastante ineficiente, ya que no estaba pensado para unidadesgrandes. Por esta razón, cuando IBM comenzó a dotar a sus equipos con unidades de disco de10MB, Microsoft desarrollo un nuevo sistema de ficheros para su DOS 1.x, inspirado en elde UNIX (Microsoft había adquirido una licencia UNIX y había empezado a ofrecer una versióndenominada XENIX). La capacidad crear particiones haciendo que aparezcan como una unidad dedisco, fue añadida en el MS-DOS 3.2.Sistemas WindowsEl gigante de Redmond ha venido utilizando dos sistemas de ficheros para sus sistemasWindows: FAT, en distintas versiones y NTFS .Si empezamos por el principio, Windows 3.x no era realmente un sistema operativo; más bien unainterfaz gráfica sobre MS-DOS. La última versión: Windows 3.11 para trabajo en grupo, incluía unamejora llamada "32-Bit File Access" que en realidad se trataba de una forma de acceso a discopara rutinas de 32-bit en modo protegido, en vez de las rutinas normales DOS de 16 bits. Deforma 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ónposterior, denominada OSR2 ("OEM Service Release 2") o Windows 95b, soportabatambié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 ymultitarea que rompiese definitivamente cualquier nexo con sus ancestros MS-DOS. Soporta dossistemas de fichero: su sistema "nativo", denominado NTFS ("New Technology File System") es unsistema de ficheros estilo UNIX/DOS. El segundo es el tradicional FAT32, incluido meramente porrazones de compatibilidad y para permitir que los equipos puedan tener lo que se denominaarranque dual ("dual boot"), que permite al usuario arrancar en Windows NT o en otrosistema. Aunque Windows NT puede leer archivos NTFS y FAT32 (este último mediante unautilidad denominada winimage), es absolutamente diferente e incompatible con los FAT [1],aunque muy superior a ellos en todo.UNIXEste 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
  4. 4. cooperación entre grupos de trabajo muy desarrollados. Existen varios dialectos de UNIX, aunqueuno de ellos, Linux, se ha popularizado mucho en el mundo de la informática personal. Aunque laarquitectura 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 loreferente a su FS, se diferencian en cuestiones de detalle. Principalmente relacionadas con laforma en que se heredan las propiedades de los nuevos ficheros en función de las propiedades deldirectorio padre o del proceso que los crea.Quizá las variedades más extendidas sean BSD ("Berkeley Software Distribution"), escrita en launiversidad de California en Berkeley por el CSRG ("Computer Science Research Group") y elUNIXSystrem V. A partir de ellas se ha creado toda una familia de versiones "open source", entrelas que se encuentran NetBSD; FreeBSD, y OpenBSD. Son, en cierta medida, comparables alpopular Linux, cada una con sus virtudes y defectos. LinuxEste sorprendente sistema, fue desarrollado inicialmente por un estudiante (Linux BenedictThorwald) según un diseño inspirado en Minix (un dialecto simplificado de UNIX diseñado porAndrew S. Tanenbaum). Posteriormente fue convertido por su creador en un SO "freeware" yrápidamente "adoptado" por la comunidad informática internacional, que le ha ido añadiendoinfinidad de opciones, utilidades y mejoras. Es rápido, fiable y muy optimizado. El sistema dearchivos Linux es distinto de los sistemas FAT, aunque dispone de una utilidaddenominada mtools que da soporte a FAT32.Con el tiempo se le ha dotado de distintos sistemas de ficheros, de forma que sus usuarios puedenelegir entre una amplia variedad de opciones y tener acceso (en ocasiones restringido) a unaenorme cantidad de formatos. El sistema es muy flexible, permitiendo incluso montar un sistemade 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" seencuentran: bfs; minix; ext; ext2; ext3; xia; xfs; msdos; umsdos; vfat; jfs; reiserfs; nfs; iso9660; hpfs; sysv; smb y ncpfs. A continuación se comentan brevemente las características delos 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
  5. 5. 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. Esta es la razón por la que los CDs y DVDs son medios realmente universales para difusión de información digital. 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. Por ejemplo,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
  6. 6. sistema de ficheros! 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 kernelde Linux. Puede utilizar el comando cat /proc/filesystems para inspeccionar su contenido. Siejecuta el comando, seguramente verá (entre otras) las siguientes líneas:ext2minixiso9660vfat OS/2Este sistema operativo de IBM también fue popular dentro de ciertos círculos del mundoPC. Principalmente clientes corporativos de la compañía. Utiliza un sistema de archivos específicodenominado HPFS ("High Performance File System") que permite nombres de ficheros de hasta254 caracteres y soporta la coexistencia de varios sistemas de fichero en el mismo equipoutilizando distintos dispositivos. En especial unidades FAT12 y FAT16. Su utilidad de formateopermití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/2Wrap. Aparte de los programas escritos específicamente para él, el sistema permitía ejecutarprogramas 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 aquellasversiones de Windows, famosas por sus pantallas azules BSoD ("Blue Screen of Death"), y podía
  7. 7. instalarse sobre una máquina DOS, Windows 3.1/3.11, o Windows for Workgroups 3.1/3.11, sinperder la posibilidad de ejecutar las aplicaciones de estos sistemas. Disponía incluso de unsistema de carga dual que permitía arrancar en OS/2 o en DOS. Incluía un "BonusPack" que, yaen 1994 (entre otras) incluía IBM Internet Connection, una utilidad que permitía: "enviar correoselectrónicos, acceder a tablones de anuncios, buscar información, conectar con otros sistemas ytransferir archivos a su sistema" . Nota: recordemos que solo cuatro años antes, en Noviembre de 1990, Tim Berners-Lee había publicado la primera página Web de la historia, y que seguramente el "BonusPack" es anterior a 1994. Me he basado en la documentación escrita que conservo al respecto. Pero seguramente cuando pude hacerme con él ya circulaba desde algún tiempo atrás.A diferencia de los sistemas FAT, HPFS ordena su información en base a los nombres de fichero,al tiempo que utiliza una estructura más eficiente para organizar sus directorios. Comoconsecuencia, se consigue un acceso más rápido y un mejor aprovechamiento del espacio que enaquellos. Su unidad de almacenamiento es el sector, y para controlar cuales han sido utilizados ycuales no, divide el espacio del volumen en bancos de 8 MB que contienen 2 KB de metadatos("allocation bitmaps") entre ellos. Esta organización mejora el rendimiento disminuyendo losmovimientos ("seeking") de cabezas. Ya que estas no necesitan volver a la pista cero cada vezque el SO necesita informarse del espacio disponible o de la situación de un fichero. Nota: En realidad OS/2 ("Operating System 2") comenzó siendo desarrollado por Microsoft, por encargo de IBM, como sustituto (versión gráfica) de los sistemas IBM/MS-DOS, así que debía poder leer los ficheros anteriores. Posteriormente ambas empresas cancelaron estos acuerdos. IBM terminó utilizando OS/2 en sus clientes corporativos (tuvo muy pequeña aceptación entre el gran público), y Microsoft siguió un camino independiente desarrollando su primer propio sistema al que denominó Windows. MacintoshEl sistema de la manzana utiliza para organizar datos en discos duros y disquetes es un sistemade archivos denominado HFS ("Hierarchical File System"). NetwareEste Sistema operativo de Novell utiliza un sistema de ficheros denominado NFS ("Netware FileSystem"), que fue diseñado específicamente para servidores de red.[1] Este es quizás el único punto en contra, razón por la cual no era tan utilizado como lossistemas FAT hasta que Microsoft empezó a utilizarlo como sistema por defecto en algunasversiones avanzadas de Windows.[3] En estos casos, la literatura inglesa suele utilizar el término "jorunalism", cuya traducción literalal español es periodismo. Sin embargo hemos preferido utilizar los términos "registro" o "bitácora"porque reflejan más exactamente la actividad realizada por estos sistemas.[4] Este espacio determina el número máximo de directorios y ficheros podrá contener la unidadposteriormente.
  8. 8. Naturalmente, igual que en la actualidad (2005), la conexión exigía un proveedor de servicios deInternet PSI. El problema era que en estas fechas, los escasísimos proveedores de tales serviciossolo eran accesibles (al menos para mí) mediante módem y llamadas a larga distancia."As most of you know, for me MINIX is a hobby, something that I do in the evening when I get boredwriting books and there are no major wars, revolutions, or senate hearings being televised live onCNN. My real job is a professor and researcher in the area of operating systems"......"I think the real issue is something else. Ive been repeatedly offered virtual memory, paging,symbolic links, window systems, and all manner of features. I have usually declined because I amstill trying to keep the system simple enough for students to understand". Andrew S. Tanenbaumen "Linus vs. Tanenbaum" Una máquina de General Electric con palabra de 32 bits y direcciones de 18 bits, que alrededor de1965 era competencia de los modelos de la IBM. Pertenecía a lo que entonces se considerabanordenadores para "aplicaciones científicas", ya que las destinadas a "aplicaciones de gestión"simplemente no existían. Lo más avanzado eran unos artilugios electro-mecánicos con elpomposo nombre de "facturadoras-contables" que mantenían la contabilidad en cartulinas de papelcon un registro impreso y otro electrónico en una banda magnética lateral (algo parecido a laslibretas de ahorro de algunas entidades bancarias actuales).

×