Discusión:Sistema de archivos

De doc.ubuntu-es
(Diferencias entre revisiones)
Saltar a: navegación, buscar
m (blanqueo)
 
(No se muestran 3 ediciones intermedias realizadas por 2 usuarios)
Línea 1: Línea 1:
Kelp:
 
te dejo aquí, lo que a mi juicio debería encabezar la sección Sistemas de archivos. En realidad, estos son los sistemas de archivos. Lo que hay puesto ahora, es la estructura de Directorios en Unix/Linux como organigrama de Método, y debería de figurar inmediatamente después de lo que he escrito.
 
Las fuentes, ya sabes, lo que sabía, aunque he comprobado los datos que he puesto, porque de Unix a Linux hay algunas diferencias y otras cosas no las recordaba bien, en cualquier caso Wikipedia.
 
Gracias,
 
Z
 
  
* Vamos a ver, vamos a dejar las cosas claras:
 
# No tienes que dirigirte a mi, aquí participa más gente y de echo, este apartado ni siquiera lo he escrito yo. Si quieres saber quien lo ha escrito, mira el historial.
 
# Como fuente no vale eso de: lo que sabía. Léete [[lo que este wiki no es]]. Si utilizas la wikipedia, pues pon un enlace a la wikipedia.
 
# No utilices mayúsculas en los títulos, parece mentira que haya que recordarlo.
 
# Esta página es de debate, no para copiar lo que crees que debería ir en el articulo. Si piensas que debería en el artículo, escribelo en el artículo, no aquí. [[Usuario:Kelp|kelp]]
 
 
 
* Vale, no me dirijo a ti, aunque no sé a quién hacerlo ya que eres tú la que pone y quita de aquí.
 
#He puesto este artículo aquí, porque pienso que antes de poner algo en el wiki debe de ponerse previamente a discusión, con lo que sería posible mantener un cierto orden y evitar así que se escriba cualquier cosa. Además, he intentado contactar con el autor pero no me ha respondido y me parece muy feo rectificar cosas sin conocimiento del autor, entre otras cosas porque puedo estar equivocado, o desconocer las razones por las que está puesto así.
 
#Sé que me dirás que éste no es el sitio para discutir estas cosas, pero ¿ cuál es?.
 
#En cuanto a las fuentes, yo compruebo lo que escribo y procuro hacerlo en múltiples fuentes, pero en realidad no es mas que eso, una comprobación, como hace cualquiera que escribe sobre temas técnicos. Sobre lo que no sé, no escribo, porque entonces sería copiar. A lo mas podría poner la bibliografía consultada.
 
#En cuanto a las mayúsculas de los títulos, no lo sabía. Ya que sé que el desconocimiento de la ley no exime del delito. Mea culpa. Lo siento.
 
 
(Zirconio)
 
 
** A ver Zirconio, yo no soy la que quita y pone de aquí, lo que quiero decir es que si quieres cambiar algo de este artículo, puedes debatirlo aquí, pero no conmigo solo, yo no puedo estar en todos los artículos, procuro ver todos los cambios que se hacen, pero esta página de discusión está a la vista para todo el mundo y todo el mundo puede escribir en ella, si todo el mundo que quiera editar este artículo debate aquí, el resultado será mucho más completo y preciso, pero yo no tengo conocimientos para opinar sobre todos los contenidos. Si te diriges a mi, el resto de personas pueden sentirse cohartadas para dar su opinión, y yo lo que quiero es que todo el mundo opine. [[Usuario:Kelp|kelp]]
 
 
==El Sistema de Archivos==
 
 
:Cuando hablamos de un "Sistema"  de archivos, estamos hablando de un estructura lógica como base que nos permita ubicar, localizar y poder modificar todos los archivos que deban o puedan almacenarse para un posterior uso.
 
:Linux hereda de Unix la estructura de distribución de datos en el Sistema, que es lo que comunmente se conoce como estructura de árbol invertido, haciendo alusión a que la "raiz" está encima de todo, extendiendo la ramificaciones hacia abajo. (Hablamos de arriba y abajo, sólo en la representación gráfica).
 
:Pero antes de hablar de como se agrupan los archivos para poder acceder a ellos con facilidad, es necesario entender, como se "asienta" toda esta información en el soporte que la  contiene. El soporte será por lo general un disco duro, pero evidentemente puede ser una cinta, una memoria, etc..
 
 
:Cuando hablamos de dar formato a un disco, estamos hablando de ésto, de la manera en que estos datos serán almacenados en el disco, que nada tiene que ver con la representación gráfica que vemos por pantalla, es decir, el sistema que almacena la información, nada tiene que ver con la estructura de árbol invertido que usamos para localizar los archivos, tanto los usuarios como el propio kernel, sino con la distribución en bloques, sectores, cilindros y pistas del disco.
 
 
:Linux, al igual de Unix, tiene la posibilidad de poder leer gran variedad de formatos de sistemas como ej: ext2, ext3, reiserFs, JFS, XFS, etc.., teniendo cada uno de ellos características diferenciales bien definidas.
 
 
:Todos quedan incluídos en lo que se denominan sistemas transacionales, con excepcion de Ext2, que es secuencial.Pero antes de hablar de las características de cada uno enumeremos algunas funciones y asignaciones referentes a los sistemas de almacenamiento:
 
:*''Bloque lógico'': se mide en Bytes. es la unidad mínima de almacenamiento con la que operamos. Lógicamente un archivo puede necesitar varios bloques.
 
 
:*''Volumen lógico'': Un disco, una partición de un disco, o un volumen que abarca varios discos o particiones, es decir: cualquier dispositivo de almacenamiento que se orienta como espacio de asignación único y discreto.
 
 
:*''Fragmentación interna'': Son aquellos espacios sin  usar que quedan dentro de los bloques si el tamaño de los archivos no los llenan completamente, por ej: si el bloque es 4 Kb y el archivo ocupa sólo 1 Kb, sobran 3 Kb de espacio.
 
 
:*''Fragmentación externa'': Se llama así al "reparto" que se hace cuando los bloques que contienen un archivo, no están asignados de manera contínua o contigua en el disco, sino repartido por toda la superficie del mismo.
 
 
:*''Metadatos'': Lo que dice la palabra: todos aquellos datos que están por encima de los datos, es decir, los elementos que controlan o estructuran los datos propiamente dichos dentro del sistema. En ellos no están incluidos pues la fecha, hora, propietario. permisos, enlaces,último acceso, etc.
 
 
:*''I-NODO'':asignación númerica única para cada archivo, con la que se forma un índice, conteniendo gran parte de los metadatos, para facilitar su manejo, búsqueda, ahorro de memoria, etc..
 
 
:*''Arboles B+'': interesantisimo concepto tomado de las bases de datos relacionales y asociado ahora a los sistemas de archivos, con el fin de agilizar la búsqueda dentro de las unidades de almacenamiento. En principio fueron los "btree" (árboles balanceados) que con el tiempo se perfeccionaron convirtiéndose en "b+tree". Su función es buscar directamente los directorios aludidos y luego dentro de los archivos, haciendo mas rápida y eficiente la búsqueda.
 
 
'''''Nota importante'''''. Los sistema de archivos  de Linux son asíncronos, es decir no escriben los metadatos en el disco de forma inmediata sino que utilizan un escalado temporal, mediante una caché en memoria donde son almacenados estos metadatos en espera de una menor actividad de la CPU, para incluirlos en la misma en el momento mas oportuno.Como puede deducirse, esto se transforma en un mejor rendimiento del sistema.
 
:Los sistemas transacionales disponen de un mecanismo llamado '''journaling''', que no es mas que un diario de registro de las alteraciones que sufren los archivos. Por lo general este diario se asienta en un bloque del disco, con el fin de evitar largas comprobaciones en caso de parada abrupta del sistema por falta suministro eléctrico, o conflicto interno. De esta forma, al reiniciar el sistema, sólo hace falta abrir el journal para reestablecer la última estructura y evitar así, la comprobación secuencial de todo el sistema. El sistema Ext2, carece de esta implementación, pero se le acopla facilmente. En realidad, Ext3 es un Ext2 con journaling incorporado.
 
 
===Breve descripción de los principales Sistemas de Archivos===
 
 
'''EXT3'''
 
::El mas común dentro de los sistemas Linux.Su nombre en realidad: third extended filesystem.
 
::Ext3 es un sistema ext2 con journaling incorporado, por lo que asienta facilemente sobe ext2 sin la necesidad de perder los datos que estan almacenados allí, o sea no partir de cero en caso de querer cambiar uno por otro.Una caracteristica de Ext3 es que usa un número fijo de inodos, mientras que los demás usa una conversión dinámica de los mismos. Además Ext3 puede efectuar transaciones de datos propiamente dichos (además de metadatos, claro). Esto comporta una mayor carga de sistema, pero en cambio ofrece una gran versatilidad.
 
 
'''REISERFS'''
 
::Desarrollado por H. Reiser bajo el auspicio de la empresa Namesys, este sistema de archivos está considerado como un escalón importante en la construcción de sistemas de archivos modernos.Momentaneamente es un sistema exclusivo para Linux. Su desarrollo se detuvo para dar paso a una nueva versión: Reiser4 la cual adopta medidas importantes en el manejo de archivos pequeños, tan importante en las transaciones de metadatos en el espacio de nombres del sistema de archivos.Función de logs, para el manejo del journal. Manejo de directorios con cientos de miles de archivos pequeños.
 
::Cuenta también con un sistema sofisticado para reducir la fragmentación interna llamado tail-packing.
 
 
'''XFS'''
 
::Su desarrollo ha corrido a cargo de la empresa SGI (Silicon Graphics Inc) para unidades Unix/IRIX. Es uno de los sistemas soportados por Linux desde el 2001.
 
::Es un sistema robusto capaz de operar con sistemas de archivos muy grandes, como bases de datos gigantes.
 
::Tal vez lo mas destacado de este sistema sea la llamada "asignación diferida". O sea, retrasar la escritura de los datos en el disco de tal forma que pueda hacerse en el momento que se disponga de mayor número de bloques conjuntos, es decir lineales. Esto lleva a la curiosa situación de poder a llegar a no escribir nunca algunos archivos en el disco dado que su extinción es anterior a la asignación de escritura en el disco.
 
::Posee un sistema nativo de asignación de cuotas, ACL (Access Control List) y copias de seguridad con restauración.
 

Última revisión de 21:43 19 mayo 2012

Herramientas personales