8.1.2c1 Particiones
§1 Sinopsis
La estructura lógica de segundo nivel que puede encontrarse en un disco físico es la partición primaria o volumen. En realidad, una partición no es más que un artificio por el que el sistema puede considerar dividida la unidad física en varias partes, que pueden incluso tener distinta estructura. De hecho, cada una de estas particiones puede albergar un sistema de ficheros distinto. Por ejemplo, un sistema FAT de DOS/Windows y un sistema ext2 Linux. Además de otras ventajas, las particiones ofrecen la posibilidad de montar distintos sistemas operativos, lo que a su vez, permite al equipo adoptar "personalidades" distintas según el SO que se cargue en cada momento.
Nota: Es digno de mención, que en ocasiones también se emplea el artificio contrario ("Disc striping"). Algunos sistemas de ficheros permiten considerar varias unidades físicas como un solo volumen lógico.
En lo que respecta al DOS, puesto que sus diseñadores solo pretendieron hacer un sistema rudimentario y esquelético, por sí mismo solo puede tener en cada unidad una partición primaria DOS pDp ("Primary DOS Partition") y una partición DOS extendida xDp ("extended DOS Partition").
La partición primaria DOS es como las demás y consume una de las 4 posibilidades del disco ( 8.1.2c). Por su parte la partición DOS extendida consume otra de las 4 posibilidades. Tienen ciertas características especiales frente a las particiones primarias normales (no DOS), lo que permite subdividirlas en volúmenes lógicos .
§2 Estructura de las particiones
Figura 1. Esquema de la estructura lógica (particiones) de una unidad. |
Figura. 2. Estructura de una partición DOS extendida. |
La figura 1 (de Microsoftt Windows 2000 resource Kits), muestra la estructura de un disco con tres particiones primarias y una partición extendida en la que se han definido dos volúmenes lógicos.
Nota: La unidad sería percibida por el SO como 5 unidades lógicas distintas. Observe que la escala vertical no guarda relación con el tamaño relativo de cada zona.
La parte superior corresponde al MBR ("Master Boot Record") que ha sido comentado en el capítulo anterior ( 8.1.2c).
A continuación siguen tres particiones primarias que son de estructura muy sencilla; solo tienen sector de carga ("Boot sector") y área de datos. La estructura del primero la detallaremos en el próximo capítulo ( 8.1.2c2). El área de datos tiene composición análoga en todos los casos; comienza con las tablas FAT; sigue con la estructura del directorio raíz y a continuación los datos propiamente dichos. Su organización se comenta en el capítulo Estructura jerárquica de un volumen ( 8.1.2d) .
Por ser la más compleja, empezaremos comentando la estructura de la partición DOS extendida xDp, que puede contener subdivisiones en su interior. En realidad, cada una de sus posibles subdivisiones tiene una estructura idéntica a la de una partición primaria y prácticamente la misma funcionalidad .
§2.1 Partición DOS extendida
En principio una partición DOS extendida xDp no debería ser distinta de las demás particiones primarias de la unidad. Sin embargo, se le incluyeron algunas estructuras adicionales para poder subdividir su espacio en partes más pequeñas denominadas volúmenes lógicos VL .
Nota: El hecho de incluir subdivisiones (volúmenes lógicos) en una de las particiones primarias, en lugar de permitir directamente mayor número de particiones primarias, obedece a razones de compatibilidad. Cuando se decidió agregar al DOS capacidad para más de 4 particiones, la estructura debía ser compatible con la anterior. Así que se decidió incluir las particiones extra en una de las 4 existentes, que pasó a tener ciertas características especiales y a denominarse partición DOS extendida.
Lo mismo que la información de la pDp y de cualquier otra partición primaria que se hubiese definido en la unidad, la información básica sobre la xDp está en la entrada correspondiente de la MPT del sector de arranque ( 8.1.2c). A su vez, el primer sector de la xDp es de funcionalidad y estructura semejantes a las del bloque de carga MBR, aunque en este caso se denomina EBR ("Extended Boot Record"). La figura 2 (de Microsoftt Windows 2000 resource Kits), muestra la organización interna de una partición DOS extendida que contiene tres volúmenes lógicos.
La tabla de particiones del EBR se denomina tabla de partición extendida xPT ("Extended Partition table"), y tiene la misma disposición interna que la tabla MPT. Aunque la xPT solo utilizan las dos primeras entradas. La figura 2 muestra el detalle de la estructura interna de una partición DOS extendida con tres volúmenes lógicos.
La primera entrada de la xPT señala a su propio sector de carga "Boot sector" ( 8.1.2c2). La segunda señala al EBR del siguiente volumen lógico (si no existiera ningún otro, contiene ceros). Las 2 entradas restantes no se utilizan (contienen ceros). El segundo volumen lógico tiene una estructura similar al primero. La segunda entrada de su xPT señala a la EBR del siguiente y así sucesivamente. Puede verse que la estructura de los VLs es una cadena de enlaces que comienza en la MPT, y que cada volumen lógico contiene su propio EBR.
§2.2 Volúmenes Lógicos
Cuando se declara una xDp, inicialmente el espacio está vacío, pero puede habilitarse construyendo en su interior una o varias particiones lógicas ("Logical partitions"), también denominadas volúmenes lógicos VL ("Logical DOS drives" o "Logical volumes"). Posteriormente los sistemas DOS/Windows las referencian con una letra, de la C a la Z, como si fuesen discos distintos. Las letras A y B se reservan para designar los sistemas de fichero de los disquetes (que no admiten particiones).
Durante el proceso de carga, el SO realiza una exploración ordenada de las unidades de disco y sus volúmenes lógicos.
Los sistemas DOS/Windows asignan sucesivamente una letra a cada volumen encontrado. Por esta razón, en una
xDp pueden declararse hasta 24 volúmenes lógicos si no se está usando una
pDp, o 23 en caso contrario. El factor limitador es la letra que se asigna a cada
VL (empiezan por C y terminan con la Z). Por supuesto que salvo circunstancias excepcionales,
es muy raro que se definan tal número de VLs en una partición extendida DOS.
El hecho de que una unidad pueda ser maestra depende exclusivamente de la BIOS. Por ejemplo, supongamos un portátil en el que instalamos una unidad de disco exterior mediante la conexión USB, o mediante una tarjeta PC-CARD que incluye un controlador SATA (evidentemente, las unidades serían distintas en uno y otro caso).
Por lo general, en el estado actual de la técnica (2005), las BIOSes solo están preparadas para arrancar desde unidades internas, que pueden ser disco, disquete, CD/DVD o mediante LAN (tarjeta de red). En tal caso, aunque la unidad USB o la SATA tuviesen una partición primaria activa, no podrían ser utilizadas para la carga inicial del sistema, ya que la BIOS no puede "verlas". Sin embargo, una vez cargado el SO y los controladores adecuados en funcionamiento, ambas unidades podrían ser utilizadas sin problema.
Siguiendo con el ejemplo, supongamos que la unidad interna tiene la distribución señalada en la figura 1 ; que la partición activa es la primera partición primaria (en la que hemos cargado Windows XP); que las otras dos particiones primarias contienen una distribución Linux, y que los volúmenes lógicos de la partición extendida DOS contienen datos de usuario. En este supuesto, al arrancar Windows, la partición primaria de la primera unidad (disco interno) aparece como C: y los volúmenes lógicos (que son encontrados a continuación) aparecen respectivamente como unidades D: y E:. El Sistema ha asignado previamente la letra A: a la unidad de disquete y F: a la unidad de CD o DVD que aparece como segunda unidad física. Por ejemplo, unidad maestra del canal secundario IDE ( 6.1).
Si hemos conectado la unidad USB, el Sistema seguramente cree que es una unidad SCSI, y le asigna una letra a continuación de la última, de forma que aparece en el explorador Windows como unidad G: Disco extraíble. En cambio, si hemos instalado también la unidad SATA a la tarjeta PC-CARD, quizás sea esta unidad la que aparece como unidad G:, mientras que la USB aparece como unidad H:. El asunto depende naturalmente del orden que utilice el SO en la exploración.
Nota: En el caso de mi venerable Windows98-SE, el orden es justamente el señalado. Primero aparece la unidad USB, y a continuación, la SATA.
Desde un punto de vista funcional apenas existen diferencias entre una pDp y un volumen lógico VL dentro de una xDp.
Solo que la primera puede establecerse como activa ("bootable") mientras que el
VL
no. Por esta razón, si se quiere que el sistema pueda arrancar desde el disco debe crearse
como mínimo una partición primaria DOS y declararla activa.
A su vez la unidad debe ser lo que hemos denominado un disco
"maestro" para el sistema. Es decir, una unidad física cuyo MBR (
8.1.2c) pueda
ser accedido directamente por la BIOS (
4.3).