La semana pasada comenté que ésta iba ya a explicar en Linux Fácil cómo hacer las particiones para instalar Kubuntu de forma más fija en el ordenador que mediante Wubi. Sin embargo, he cambiado de idea, voy a dedicar una serie de entradas a explicar los sistemas de archivos y el funcionamiento de los directorios en Linux. Van a ser artículos algo densos quizás, que se alejan realmente del objetivo principal que es tener Linux en el ordenador, pero he creído que sería interesantes como cultura general. Si me paso de lenguaje técnico, por favor, decídmelo para tratar de decirlo de un modo más coloquial.
Un sistema de archivos es el conjunto de algoritmos y estructuras de datos que se utiliza para organizar la información en una unidad de almacenamiento. Por ejemplo, un sistema de archivos mantiene un registro sobre a qué fichero pertenecen unos determinados sectores de un disco duro o cuáles no se encuentran en uso.
Generalmente los discos se organizan en forma de árbol donde cada rama representa un directorio. Sin embargo, aquí podemos encontrar diferentes planteamientos. En los sistemas Windows cada unidad representa un árbol en sí mismo, mientras que en los sistemas Unix sólo existe una raíz de la que descienden todos los dispositivos y todos los directorios del disco.
La próxima semana me meteré ya con los sistemas de archivo de discos duros como NTFS, FAT o ext3, pero hoy voy a introducir los soportes físicos más usuales para que veáis cómo funcionan.
DISCOS MAGNÉTICOS
Es la unidad de almacenamiento típica de un ordenador, es decir, el disco duro, aunque los antiguos disquetes también funcionaban magnéticamente. Los tiempos de acceso son sustancialmente menores que en los discos ópticos y las cintas magnéticas y rondan en torno a milisegundos, aunque cada vez se reducen más gracias a los nuevos formatos como los Serial ATA o los Raptor.
La información se graba magnetizando la superficie de los platos circulares, y esto es posible gracias al material que recubre el disco, mientras que estos pueden ser de plástico (discos flexibles o disquetes) o de aluminio (discos duros). Para leer o escribir nos servimos de un cabezal, el cual en los discos duros se sitúa a varias micras del disco sin llegar a tocarlo, mientras que en los disquetes actúa por rozamiento, lo que disminuye notablemente la velocidad de escritura (aparte del ruido que generaban, que imagino todos recordaréis).
Los datos se graban en circunferencias concéntricas denominadas pistas, y éstas a su vez se dividen de forma lógica (no física, no hay marca alguna en el disco para delimitarlos) en sectores, que son la mínima unidad de almacenamiento y tienen una capacidad de 512 Bytes. Un clúster (o unidad de asignación) es un conjunto de sectores. Algunos sistemas de archivos como NTFS permiten manejar clústeres de un solo sector, mientras que otros como FAT obligan a un tamaño mínimo de varios sectores. Esto supone un desperdicio de espacio puesto que, por ejemplo, si un archivo fuese de tan sólo 100 Bytes y el clúster midiese 1KB (1024 Bytes), estaríamos dejando más de 900 Bytes libres que no podríamos utilizar.
Para trabajar con un disco magnético se mantiene constante la velocidad angular, por lo que las pistas interiores han de tener mayor densidad de grabación que las exteriores para abarcar el mismo ángulo, como se puede apreciar en el siguiente gráfico:
El sector de arranque suele ser el primer sector del primer disco. En él se encuentra la información que debe cargarse al arrancar el equipo, y que sirve, entre otras cosas, para iniciar el sistema operativo al encenderse el ordenador. Por lo tanto, en este sector se indica qué queremos que salte al poner en marcha el PC, ya sea Windows, Linux, un menú para elegir entre uno de los dos o cualquier otro sistema.
En la actualidad, un disco duro en realidad está compuesto de varios platos uno sobre otro formando un cilindro. Para leer o escribir, necesitamos enviar a la máquina el número de unidad, el número de superficie, el número de pista y el número de sector. El cabezal se situará rápidamente sobre la pista seleccionada y aguardará hasta encontrar el sector que busca mientras que el disco estará girando.
Hay que distinguir tres partes claras que se aplican no sólo a los discos duros, sino a cualquier unidad de almacenamiento. El acceso es el tiempo que se tarda en llegar al dato que se busca, la lectura es el tiempo que se tarda en enviar el dato y la escritura es el tiempo que se tarda en almacenar el dato en el disco. Antes de leer o escribir siempre hay que alcanzar la posición que corresponda. Si un disco está muy fragmentado, esto significa que los archivos no están grabados secuencialmente, sino que están divididos y distribuidos por distintas secciones de la unidad de almacenamiento, con la consiguiente tardanza acumulada al tener que ir accediendo a todas sus partes.
DISCOS ÓPTICOS
Los discos magnéticos son un medio ideal para transportar datos en un formato de bajo coste. Aunque están perdiendo importancia con las memorias flash, siguen teniendo mucha utilidad para almacenar información que se quiere llevar de un sitio a otro físicamente sin que haya necesidad de que ese medio sea reescribible. Su velocidad de acceso es elevada en comparación con un disco duro, la de lectura algo baja y la de escritura bastante alta, siempre en términos relativos.
Los formatos ópticos actuales son el CD (Compact Disc), el DVD (Digital Verstatil Disc), y el BD (Blu-ray Disc). Hace tan sólo unos meses comenzó la desaparición del HD-DVD (High Density DVD). Al contrario que los discos magnéticos, los ópticos se graban en espiral desde el centro y no en círculos concéntricos. Esto supuso, al principio, que se optase por mantener la velocidad lineal así la densidad de grabación fuera la misma. De forma más clara, significa que el disco debería girar más rápido conforme nos acercamos al borde para poder seguir leyendo la misma cantidad de datos por segundo.
Sin embargo, con los lectores de CD de más de 4X cambió, ya que el máximo indicado (por ejemplo, 24X) es cuando el lector está en el borde del disco, debido a que, explicado de forma burda, los datos pasan más rápido ante él si el disco gira a la misma velocidad. En los DVD-R se volvió a la velocidad lineal constante (CLV) ya que es perfecta para datos organizados secuencialmente como el vídeo de una película. En cambio, en los DVD+R se permiten ambos modos, CLV y CAV (iniciales de velocidad angular constante en inglés). Como curiosidad, en muchos juegos se meten archivos vacíos (dummies) al principio del disco para que los datos se sitúen más cerca del borde, leyéndose más rápido de este modo y desgastando menos el lector. En los discos Blu-Ray la velocidad de lectura es constante en cualquier punto del disco.
Pese a que ya han perdido cierta importancia, hubo una época en la que eran muy relevantes las "X" que tenía un lector. Esto es, la velocidad que alcanza. 1X, el mínimo, en un CD es son aproximadamente 150 KB/s y en un DVD 1350 KB/s. Por tanto, 2X es el doble de esas cantidades, y así consecutivamente. Así que no hay que confundir las "X" de un lector de CD con las de un DVD o un Blu-ray (8 MB/s).
En los CDs la información es almacenada en hoyos (pits) y valles (lands), grabados sobre un substrato de aluminio brillante, y es leída mediante luz de un haz láser reflejada sobre la superficie de los huecos o la parte plana. Un sensor de luz detecta si ésta sale reflejada perpendicularmente (la zona llana) o no (un hueco), codificando de esta manera la información. En el estándar más común, la superficie de los huecos o de la zona plana representa ceros, mientras que los cambios de hueco a plano o de plano a hueco son considerados unos.
Un DVD es similar a un CD, pero ofrece mayor capacidad al tener una serie de ventajas. Los huecos son de menor tamaño, el grosor de la espiral es menor y la longitud de onda del láser también es menor. En esto último se basan los discos Blu-ray debido a que el láser azul tiene una longitud de onda menor. Esto quiere decir que el "ancho" del rayo es mucho más pequeño y cabe en agujeritos de tamaño más reducido (estamos hablando del orden de décimas de milímetro).
Tanto el DVD como el BD incluyen una tecnología de capas para duplicar la capacidad de almacenamiento. Dicho de forma sencilla, esto consiste en incluir varias láminas unas encima de otras y poder grabar en todas ellas de forma independiente, en lugar de una sola superficie como tiene el formato CD. Actuando sobre el láser, se tiene la posibilidad de elegir qué capa se desea leer o escribir. Es perfectamente posible fabricar discos de más de dos capas aunque de momento no están previstos.
Los discos regrabables presentan leves diferencias en la forma de escribir y leer de ellos además de las sustancias usadas para su fabricación pero básicamente sirve lo explicado aquí. Así mismo, los distintos tipos de DVD (+R, -R, etc.) tienen algunos cambios mínimos como la longitud de onda utilizada, aunque una vez más son mínimos.
MEMORIAS FLASH
Se supone que son el futuro, aunque los intentos de convertirlas en disco duros están dando muchos problemas. Las memorias flash son un medio de almacenamiento que utilizan componentes típicos de chips informáticos, es decir, puertas lógicas ("and", "or", "nand"...), así que están formadas por transistores. Hay muchas formas de construir estas memorias así que no voy a entrar en detalles muy concretos ya que tendría que especificar demasiados ejemplos. Podéis imaginároslas como una parrilla o tabla de diminutas casillas en las que caben o un cero o un uno (un voltaje u otro), que básicamente es lo que entienden los ordenadores.
Las hay que sólo se pueden escribir una vez (memoria ROM: un cartucho de un juego o la BIOS del ordenador), otras de lectura y escritura que mantienen la información (tarjetas de memoria o lápices USB) y finalmente las volátiles, también de lectura y escritura, que necesitan corriente eléctrica continuamente y refrescar los datos para que no se pierdan (memoria RAM), pero su velocidad de lectura y sobre todo escritura es mucho mayor. Hay algunas memorias flash que pueden reescribirse pero tienen vocación permanente, ya que hay que borrarlas por completo cada vez, no se puede hacer por partes.
La velocidad de acceso es rapidísima ya que funcionan eléctricamente, sin partes mecánicas. Pero de ahí parte su mayor inconveniente, su relativa escasa duración. Una memoria flash puede reescribirse un número limitado de veces, entre 100 000 y 5 000 000 dependiendo del modelo, debido a que el borrado es un proceso un tanto agresivo para las mismas, ya que requiere aplicar un voltaje muy alto a las mencionadas casillas. Además, para ganar tiempo, generalmente los borrados se hacen por bloques (conjuntos de bytes), no byte por byte, lo que aún supone un mayor daño al afectar a más partes de las que en principio estarían implicadas.
Para una tarjeta de memoria, por ejemplo, no supone un gran problema ya que no se hace un uso intensivo de la misma, pero para un disco duro es inviable. Actualmente existen las Unidades de Estado Sólido (SSD), que se utilizan en algunos ultraportátiles de esos que ahora están tan de moda y ya hay mucha gente que, desafortunadamente, ha perdido todos sus datos por averías en estos dispositivos.
La fiabilidad mejorará con el tiempo. Además, queda otra herramienta para alargar la vida de estas unidades de almacenamiento, la creación de nuevos sistemas de archivos especiales que distribuyan la información uniformemente por todo el dispositivo, de modo que no se desgaste una parte más que el resto. Pero de sistemas de archivos ya hablaremos la semana que viene.
1 Comentario:
Puedo ver el futuro...
30 de Abril de 2008 • 20:05 — LoganKeller... y veo que te va a quedar una guía mas currada que las oficiales
Una entrada de 20, para quien no sepa esto, le será de gran ayuda.
PD: Los discos de estado sólido no son malos por su poca fiabilidad, sino por su alto precio en relación con la memoria que te ofrecen... faltan unos años para que esa tecnología empiece a ser viable... al igual que para que un Pendrive reemplace al CD por le mismo tema: El económico.