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.
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