Memoria secundaria (Discos duros)

Es el componente más habitual para ser usado como memoria secundaria. Se componen de uno o varios platos metálicos con una película magnética y unos cabezales para leer y escribir información.

Gracias a una conversión que se hace en la controladora de los SSD, se puede trabajar con ellos como si fuesen discos duros aunque físicamente no tengan nada que ver.

Antes de ser usados hay que "prepararlos". Estas son las fases:

  • Formateo físico (también llamado de bajo nivel).

    • El fabricante establece pistas y sectores en cada plato. Cada sector consta de un cuerpo de 512 bytes donde se puede leer y escribir de una sola vez (también hay discos con sectores de 4K)

    • Los sectores se enumeran haciéndose direccionables. Antes, tenían referencia a su posición física en el disco. Si un sector era el (1, 2, 3) quería decir que era el sector 3, para ser leido por el cabezal 2 y ese sector se encuentra en el cilindro 1 . Ahora se hace del tirón empezando desde cero y sin tener referencia clara a la estructura mejorando así la interacción con el SO. La controladora del disco sabe dónde está cada uno.

    • Comienzan a enumerarse desde la periferia del disco, con lo que el sector 0 estará en el exterior

  • Particionamiento

    • Un disco físico se puede comportar como varios discos a la vista del SO haciendo particiones, que son agrupaciones lógicas de cilindros del disco.

    • Puede ser útil para separar una partición de recuperación del sistema, un área para solo el SO...

    • Se guarda y mantiene una tabla de particiones con información importante, como el tipo de sistema de ficheros que hay (si lo hay). Por ejemplo, 0x07 -> NTFS (o HPFS!), 0x83 -> Linux nativo, 0x82 -> partición swap...

    • Cada partición reserva un primer sector llamado Volume Boot Record (VBR) que en caso de ser la partición activa será la encargada de arrancar el SO

    • Hay dos modelos de particionamiento

      • Clásico

        • El sector 0 del disco guarda toda la información de cómo se ha particionado éste, entre otras cosas:

          • Sector de arranque (cabeza 0, cilindro 0, sector 1) - 512 bytes

          • Tiene el Master Boot Record

            • La BIOS asume que son ejecutables (con arquitectura 16 bits) los primeros 446 bytes

            • El código de esos bytes puede hacer llamadas a interrupciones BIOS, ya que están cargadas

          • Tiene la tabla de particiones (64 bytes) -> 4 x 16

          • Tiene la firma de que es un disco 'bootable' (2 bytes -> 0x55AA)

            • Si la BIOS lo encuentra, sube el sector entero a la RAM (concretamente a 0x7C00)

        • Solo puede haber 4 particiones reales, llamadas PRIMARIAS

        • Se puede hacer que una de ellas se vuelva a particionar más veces para evitar esa limitación. Pasaría a llamarse partición EXTENDIDA y las subparticiones se llamarían particiones LÓGICAS

      • Actual

        • No hay limitación, se pueden hacer todas las particiones que queramos; todas son primarias. Están recogidas en una tabla llamada GPT

        • Una partición será la ESP (EFI system partition) y albergará drivers, bootloaders, imágenes de kernels...

        • Se pueden arrancar programas incluso antes de cargar el SO mediante esta partición

    • SIEMPRE hay un particionamiento en un disco duro, puede ser que se particione en un único trozo, pero debe existir sector 0.

  • Formateo lógico (o de alto nivel)

    • En CADA partición primaria se puede establecer un sistema de ficheros directamente o un volumen. En la partición extendida se necesita siempre crear volúmenes para albergar el sistema de archivos. Entonces para CADA uno:

      • Se debe crear el sector de arranque (si se va a arrancar alguna vez desde ahí)

      • Se crean las estructuras del sistema de archivos que se ha solicitado (o elegido el SO). Datos, metadatos..

      • Se crea un directorio inicial (o raíz)

      • Se crea un mapa de espacio libre y asignado en la partición

Un volumen, para nuestros efectos, será la parte lógica de una partición, es decir, cómo se presenta la partición al sistema operativo. Tiene una etiqueta para ser nombrado, un número de serie, información sobre el sistema de archivos que usa y una tabla en donde se guarda un registro por cada fichero que hay. Una vez que el SO lee esa info, decide si puede montar el sistema de archivos o no.

Última actualización