En los dos posts anteriores, describía la estructura física y lógica de los discos duros. Con los conceptos introducidos entonces, estamos en disposición de explicar el funcionamiento de un disco duro.

Lo descrito para la estructura lógica: las particiones y los sistemas de archivo, es general y valido para todos los Sistema Operativos. Sin embargo, cada uno de estos últimos tiene su propia forma de trabajar con estos elementos. En mi caso, me voy a basar en el Sistema Operativo Windows y el Sistema de Archivos FAT, que es probablemente el más universal.

Algunos conceptos básicos

Para explicar como funciona un disco duro en Windows tengo que introducir algunos conceptos más:

  • Sector de arranque: Se llama así al primer sector del disco. Recordemos que el tamaño de un sector era normalmente de 512 bytes. En este sector, se encuentra un programa: el MBR (Master Boot Record), que se ejecuta al iniciarse el Sistema Operativo. Lo que hace este programa es buscar la tabla de particiones y llevarla al sector de arranque.
  • Tabla de particiones: Es un estructura de datos que almacena la información de las distintas particiones que tiene el disco duro.
  • La FAT (File Allocation Table): Su traducción sería algo así como Tabla de localización de ficheros. Como su propio nombre indica, contiene la información sobre donde están almacenados los ficheros en el disco duro, es decir, en que clusters. Consultando esta información, el Sistema Operativo sabrá a que clusters tiene que ir para recuperar todos los datos de un fichero, o que clusters están vacíos y disponibles para almacenar información.

Si perdiéramos esta información, es como si se nos borrara todo el disco duro, porque aunque los datos estén ahí, no sabríamos donde están y no podríamos recuperarlos. Por seguridad, hay dos copias de esta tabla, una de ellas es un back up.

  • Directorios: Es la zona destinada a guardar la estructura de directorios del disco duro.
  • Zona de almacenamiento de datos de usuario: Básicamente, el resto del espacio de disco duro se emplea para guardar información de los usuarios.

Lectura y Escritura de datos

Después de introducir estos conceptos, podemos explicar de forma breve como funciona un disco duro en Windows.

Cuando queremos leer o escribir alguna información en el disco duro, pediremos al controlador del disco que coloque los cabezales de lectura y escritura sobre la tabla de asignación del sistema de archivos, en nuestro ejemplo FAT.

Lectura:

Si lo que quiere el Sistema Operativo es recuperar un fichero, leerá de la FAT la información de los sectores donde se encuentran los datos del fichero, y con esa información, posteriormente irá recuperando los datos de los sectores indicados y guardándolos en la RAM.

Escritura:

Por el contrario, si lo que quiere es guardar un fichero, lo que hará será leer la FAT para saber que sectores están libres, disponibles para guardar datos. Posteriormente irá guardando los datos del fichero en los distintos sectores y la lista de los sectores empleados en la FAT.

Para investigar: En este caso, los alumnos pueden investigar el sistema de archivos NTFS, también empleado por Windows y el sistema Mac OS plus de Apple.

NOTA:

Este post es parte de la colección “Arquitectura de Sistemas” que reproduce los apuntes de la clase que imparto sobre este tema en ESIC. Puedes ver el índice de esta colección aquí.