MANTENIMIENTO DE EQUIPOS INFORMÁTICOS Ignacio Moreno Velasco UNIVERSIDAD DE BURGOS Versión 6.4 Abril 2008 5.- SUBSISTEMA DE ALMACENAMIENTO Ignacio Moreno Velasco Apuntes Mantenimiento de Equipos Informáticos Tabla de contenido 5.- SUBSISTEMA DE ALMACENAMIENTO 1 5.1.- INTRODUCCIÓN 3 5.2.- DISCOS MAGNETICOS 4 5.2.1.- Fundamentos 4 5.2.1.1.- Medio de grabación 4 5.2.1.2.- Cabezal de lectura-escritura 5 5.2.2.- Constitución 5 5.2.2.1.- Cabezas (Heads) 5 5.2.2.2.- Los platos 6 5.2.2.3.- Controladora 6 5.2.2.4.- Ejemplo: 7 5.2.3.- Funcionamiento 9 5.2.3.1.- Rotación 9 5.2.3.2.- Latencia mecánica: Posicionamiento cabezas. 9 5.2.3.3.- Aparcamiento 5.2.4.- 10 Controladora 10 5.2.4.1.- Firmware 11 5.2.4.2.- Interfaz 12 5.2.4.3.- Cache Buffer 12 FORMATO DE GRABACIÓN 13 5.3.- 5.3.1.- primer nivel 13 5.3.2.- segundo nivel (formato de bajo nivel) 13 5.3.2.1.- Partes del sector 14 5.3.2.2.- Proceso de formato 15 5.3.2.3.- Errores 15 5.3.2.4.- Ejemplos de especificaciones 17 5.3.3.- tercer nivel (formato de alto nivel) 18 5.3.3.1.- Particiones del disco duro 18 5.3.3.2.- El sector de particiones (MBR: Master Boot Record) 20 5.3.3.3.- Sector de arranque de la partición 22 5.3.3.4.- FAT (File Allocation Table) 23 5.3.3.5.- El directorio raiz 26 5.3.3.6.- Zona de datos 27 5.3.3.7.- Acceso a un archivo 27 Tema 5: Almacenamiento Versión 6.4 2 Ignacio Moreno Velasco Apuntes Mantenimiento de Equipos Informáticos 5.1.- INTRODUCCIÓN El subsistema de almacenamiento, y específicamente el disco duro, surge de la necesidad de conservar grandes cantidades de información después de apagar el ordenador (información no volatil). • Debe procurar un bajo coste por Mbyte debido al gran volumen de información que se maneja habitualmente. • El tiempo de acceso superior a la memoria volatil y velocidad de transferencia menor. • Todos los sistemas de almacenamiento de alta capacidad incluyen elementos móviles, lo que será determinante a la hora de su fiabilidad (i.e. mantenimiento). Tema 5: Almacenamiento Versión 6.4 3 Ignacio Moreno Velasco Apuntes Mantenimiento de Equipos Informáticos 5.2.- DISCOS MAGNETICOS Una primera diferencia respecto a la memoria volatil, RAM, es en las unidades de información que se manejan en los accesos de lectura y escritura: • RAM: La unidad mínima de acceso es el byte • Disco: La unidad mínima es el sector (512 bytes). 5.2.1.- FUNDAMENTOS Lo que entendemos por disco duro está formado por varios elementos. Entre ellos se encuentran varios discos magnéticos (platos) que sirven de soporte a los datos. El funcionamiento del un disco magnético se fundamenta en una superficie magnetizable (medio de grabación) y un cabezal capaz de detectar y grabar variaciones magnéticas. 5.2.1.1.- Medio de grabación Sobre el plato de aluminio (sustrato) se encuentra la superficie magnetizable que contendrá los datos. Sustrato: El plato suele ser de alumnio ya que debe cumplir varios requisitos: • Debe tener un bajo coeficiente de dilatación, pues la fuerza centrífuga de la rotación y el calor en el interior de la unidad podrían deformar el soporte dificultando la lectura y escritura. • La superficie debe ser muy lisa. Superficie magnetizable. Se trata de una capa de material magnético y por tanto susceptible a los campos electromagnéticos. • En general se utilizan dos tipos de capas: óxido y película delgada. Tema 5: Almacenamiento Versión 6.4 4 Ignacio Moreno Velasco 5.2.1.2.- Apuntes Mantenimiento de Equipos Informáticos Cabezal de lectura-escritura • Lectura: El flujo magnético del disco se transforma en corriente eléctrica sobre la bobina del cabezal. • Escritura: La corriente que circula por la bobina provoca un flujo magnético sobre el nucleo y por lo tanto sobre la superficie del disco. Ö Sentido de la corriente ⇔ dirección de magnetización. El nucleo ferromagnético posee una separación llamada gap que permite que el flujo electromagnético se propage hasta la superficie de grabación. Podemos hacernos una idea de su tamaño: Gap < 1 μm. 5.2.2.- CONSTITUCIÓN El llamado “disco duro” está formado por una pila de platos que son leidos por un conjunto de cabezas. Cada plato se divide en pistas que a su vez se dividen en sectores. Pistas Sector Cabezas Brazo CONTROLADORA Buffer Interfaz Circuitería de control 5.2.2.1.- Cabezas (Heads) Realizan la lectura física de cada superficie del disco. • Hay tantas cabezas como superficies útiles. En principio, dos cabezas por cada disco. Ö Las cabezas se mueven a la vez, pues están unidas al mismo brazo. Ö Un multiplexor se encarga de conmutar la lectura/escritura entre una u otra cabeza. Tema 5: Almacenamiento Versión 6.4 5 Ignacio Moreno Velasco 5.2.2.2.- Apuntes Mantenimiento de Equipos Informáticos Los platos Pistas (Tracks) Cada una de las líneas concéntricas en que se divide la superficie de un plato. Sectores Unidad mínima de información en la que se dividen las pistas. Actualmente los sectores tienen una capacidad fija de 512 bytes en todos los discos duros y disquetes. Cilindro (Cylinder) Pistas de todos los platos que equidistan del eje. Es decir, pistas a las que acceden las cabezas cuando el brazo no se mueve. Dirección CHS (Cilynder Head Sector) Según lo visto las coordenadas que determinan un sector serían el cilindro, la cabeza y el sector. Parámetros de un disquete de 3,5 pulgadas y 1,44MBytes: y 80 Cylinders, 2 Heads, 512 Bytes/Sector, 18 Sectors/Track y Multiplicando: 80 x 2 x 18 x 512 = 1.474.560 bytes 5.2.2.3.- Controladora Las unidades actuales, además de los platos y cabezas lectoras, incorporan toda la circuitería necesaria para el control de los discos. • También incluyen un buffer de sectores que permite acelerar el flujo de datos hacia la interfaz (SATA, SCSI). • La interfaz será la encargada de emitir/recibir las órdenes en el bus SATA o SCSI y de recibir/servir la información de los discos. Unidad de disco duro Controladora Interfaz B U S Más adelante profundizaremos un poco más en este elemento de la unidad. Tema 5: Almacenamiento Versión 6.4 6 Ignacio Moreno Velasco 5.2.2.4.- Apuntes Mantenimiento de Equipos Informáticos Ejemplo: Observar: - La separación de la circuitería presente en el PCB y la presente junto a los discos: - Motor de giro y de movimiento de los brazos. - Circuito de potencia de los motores (Spindle/VCM Power ASIC) - Buffer: Memoria cache (DRAM 1024K x16) Tema 5: Almacenamiento Versión 6.4 7 Ignacio Moreno Velasco Tema 5: Almacenamiento Apuntes Mantenimiento de Equipos Informáticos Versión 6.4 8 Ignacio Moreno Velasco Apuntes Mantenimiento de Equipos Informáticos 5.2.3.- FUNCIONAMIENTO 5.2.3.1.- Rotación Los discos se encuentran girando continuamente a velocidad elevada (típicamente 5.400, 7.200, 10.000, 15.000 r.p.m.) debido a dos razones: • La inercia ralentizaría excesivamente el proceso de arranque-parada (Lo que sucede en las disqueteras). • Gracias a la forma aerodinámica del cabezal, el aire al chocar a velocidad elevada provoca una fuerza hacia arriba (efecto de sustentación) sobre la cabeza. Esta fuerza equilibra la presión del muelle y evita el contacto disco-cabeza eliminando el rozamiento (desgaste). muelle lámina Soporte brazo Disco Presión del muelle Presión del aire partícula polvo (Ø≈10μm) Cabello (Ø≈60μm) distancia disco-cabeza < 1 μm Como detallaremos más adelante, los motores provocan calor y ruido. Por ejemplo el fabricante de discos Maxtor declara que ensambla los discos en un ambiente limpio Clase-100. La presión interna y la externa del disco duro se mantienen equilibradas gracias a un orificio que incorpora un filtro de carbono de 0,3 micras. 5.2.3.2.- Latencia mecánica: Posicionamiento cabezas. Los brazos, en cuyo extremo se encuentran las cabezas, son movidos por diminutos motores eléctricos servoasistidos. • La precisión en el movimiento de las cabezas determinará la separación entre pistas. • El movimiento del brazo y la velocidad de rotación determinan el tiempo de acceso a los sectores. Tiempo de búsqueda: (seek time). Tiempo empleado en mover la cabeza a la pista requerida. Suele especificarse su valor medio que actualmente no sobrepasa los 10 ms. Latencia rotacional: (latency). Una vez el cabezal en la pista, es la tardanza en situar la cabeza en el sector. También se especifica el valor medio, que es igual al tiempo que tarda el disco en dar media vuelta. Por lo tanto mejora al aumentar la velocidad de rotación. Por ejemplo la latencia rotacional de los más rápidos discos actuales de 15.000 r.p.m. es de 2 ms, pues tarda 4 ms en dar una vuelta completa. Observese una de las ventajas de estos discos frente a los tradicionales de 5.400 r.p.m. cuya latencia es de 5,5 ms. Tema 5: Almacenamiento Versión 6.4 9 Ignacio Moreno Velasco Apuntes Mantenimiento de Equipos Informáticos Tiempo total de acceso Es la suma del tiempo de búsqueda y el de latencia: ttotal = tbúsqueda + tlatencia 5.2.3.3.- Aparcamiento Cuando el disco se para, el cabezal es aparcado en una zona especialmente diseñada en la parte más cercana al eje del disco, conocida como zona de aparcamiento (Landing Zone). Esta zona tiene una superficie especial de textura rugosa con el fin de limpiar la suciedad que pueda arrastrar el cabezal. Una capa de carbono cubre la superficie actuando de lubricante. Este lubricante previene el daño del cabezal al tocar la superficie cuando se aparca. El contacto con la superficie de aparcamiento solo se produce cuando el disco ya no gira a su velocidad máxima. El area de aparcamiento se encuentra en la zona más interna del disco, lejos del último cilindro de datos. Cuando un disco funciona sin parar durante un largo periodo de tiempo (sistemas 24h/7d), el cabezal acumulará cierta cantidad de suciedad (compuesta principalmente de lubricante y partículas del medio). Todo ello aconseja, mientras sea posible, parar el disco por lo menos una vez al mes para mantener al mínimo la suciedad acumulada en los cabezales 5.2.4.- CONTROLADORA Unidad de disco duro Controladora Buffer Interfaz Interfaz ATA P C I Microcontrolador Diagrama de bloques simplificado de una unidad de disco conectada al bus PCI Todos los procesos descritos en el funcionamiento del disco, son controlados por un microcontrolador específico que se halla en la placa de circuito impreso de la propia unidad. Además, esta circuitería traduce las órdenes procedentes de la interfaz en ordenes directas sobre los discos y cabezas devolviendo los datos pedidos: • Control de la rotación del disco • Movimiento de las cabezas • Conversión de las fluctuaciones de flujo magnético en bits (Conversión A/D) • Llenado del buffer de sectores (cache de disco). • Comunicación con el resto del sistema mediante una interfaz. Veamos un esquema detallado del interior de una unidad de disco: Tema 5: Almacenamiento Versión 6.4 10 Ignacio Moreno Velasco Apuntes Mantenimiento de Equipos Informáticos Observar - El preamplificador de la señal analógica procedente de las cabezas. - El bloque de control de los 2 motores. - El bloque “User Defined Logic” que corresponde al “firmware” de la unidad. 5.2.4.1.- Firmware El microcontrolador, que es un tipo de microprocesador, requiere de un código de programa para su funcionamiento. Es el llamado firmware. • Este código puede estar optimizado para un tipo de movimiento de datos (secuencial, aleatorio). • Puede ser actualizable, aunque no es habitual que el usuario lo realice. Tema 5: Almacenamiento Versión 6.4 11 Ignacio Moreno Velasco 5.2.4.2.- Apuntes Mantenimiento de Equipos Informáticos Interfaz Es el bloque encargado de la comunicación con el resto del sistema: • Traduce las órdenes del bus externo (P.ej. SATA) en órdenes concretas para el resto de elementos de la unidad que el microcontrolador ejecutará. • Empaqueta-desempaqueta los datos. • Detecta-Corrige los errores de transmisión. 5.2.4.3.- Cache Buffer La memoria cache de disco (buffer) se encuentra entre la circuitería integrada de la unidad de disco duro. • Su funcionamiento es análogo a la cache de memoria. • Se utiliza tanto en la lectura como la escritura de sectores en los platos. • El tamaño crece, desde los 128 KB a varios Megabytes en discos de gama alta destinados a servidores y estaciones de trabajo. Cache de lectura Una vez que se recibe una petición de datos desde la interfaz, la unidad accede a los sectores apropiados y los guarda en el buffer. Además, continúa leyendo secuencialmente los sectores contiguos hasta llenar el buffer. A esta lectura de sectores adicionales se llama prebúsqueda (prefetching). Lógicamente esto acelera los accesos secuenciales. Según el fabricante Quantum, en la mayoría de aplicaciones el 50% de los accesos son secuenciales, lo que hace que esta técnica mejore las prestaciones en torno al 40% Cache de escritura Durante las operaciones de escritura, la cache de escritura permite transferencias interfaz–buffer en paralelo con transferencias buffer-disco. Elimina la latencia de rotación durante escrituras secuenciales. Según el fabricante Quantum, las velocidades de transferencia se incrementan entre un 50% y un 250% en accesos secuenciales y un 30% en accesos aleatorios. Los dos siguientes esquemas contienen los principales elementos de una unidad de disco duro: Tema 5: Almacenamiento Versión 6.4 12 Ignacio Moreno Velasco Apuntes Mantenimiento de Equipos Informáticos 5.3.- FORMATO DE GRABACIÓN Llamamos formato al conjunto de reglas que determinan la grabación de datos en el disco. Este formato lo dividiremos en 3 niveles según cual sea su objetivo organizativo. 1er nivel: Se organiza la superficie en dominios mágnéticos (áreas) que representarán los bits (bit = cambio de flujo magnético en las partículas de la superficie) 2º nivel: Organización de la superficie en bloques de bits que las cabezas pueden identificar. División en sectores y pistas. Se añade información de identificación y control de errores. 3er nivel: Organización del disco para su utilización por el sistema operativo. División en directorios, tablas de asignación de archivos (FATs). 5.3.1.- PRIMER NIVEL En este primer nivel se trata la información en su forma mas básica, es decir los estados binarios “0” y “1” como inversión del flujo magnético. El formato mas sencillo es el NRZ (Non Return to Zero), en el que simplemente cada estado de polarización significa “0” ó “1”. Este código tiene la pega de que si existen demasiados “0” ó “1” seguidos no se NRZ: 1 0 0 1 0 producen cambios de flujo por lo que necesitaremos una señal de sincronismo. Para evitarlo surgieron otros códigos que solucionan este problema, como son NRZI, PE, MFM, RLL, etc.. 5.3.2.- SEGUNDO NIVEL (FORMATO DE BAJO NIVEL) Este nivel de formato se encarga de organizar todos esos bits individuales de la superficie del disco en bloques de datos a los que accederá la controladora. Esto supone crear y marcar esos bloques que son los sectores en los que se dividen las pistas. La densidad de datos no es uniforme en todo el disco. Por el contrario el disco se divide en zonas con un número de sectores por pista distinto. Véase la siguiente tabla de ejemplo: Tema 5: Almacenamiento Versión 6.4 13 Ignacio Moreno Velasco 5.3.2.1.- Apuntes Mantenimiento de Equipos Informáticos Partes del sector Marca de orden Primer sector Partes de un sector Marca de orden Gap 1 Caracter de Sincronismo Cabecera Bytes de Chequeo Gap 2 Caracter de Sincronismo DATOS Bytes de Chequeo Gap 3 Como puede apreciarse en la figura, cada sector está formado por varias partes que son: Cabecera Contiene: • Nº de cabeza. • Cilindro (i.e. pista). • Nº de sector dentro de la pista GAP Son zonas “muertas” de longitud variable que se insertan para compensar la distinta longitud de los sectores y minimizar las interferencias magnéticas entre ellos. Bytes de chequeo Usados para el control de errores a nivel de sector. Carácter de sincronismo Permite al servosistema mantener el sincronismo en la lectura-escritura de los sectores. P. ej. el disco enfocado a servidores IBM Ultrastar 36Z15 alcanza una densidad de 10’7 Gbits/inch2. Sin embargo el modelo enfocado a equipos de sobremesa Hitachi 7K400 de 400 GB alcanza los 62 Gbits/inch2 # Propuesto 5.1.: ¿A qué crees que es debida esta diferencia de densidad? Tema 5: Almacenamiento Versión 6.4 14 Ignacio Moreno Velasco 5.3.2.2.- Apuntes Mantenimiento de Equipos Informáticos Proceso de formato Después de formatear en sectores, se lee el disco para comprobar que todas las cabeceras y datos pueden ser leidos. Si durante el formateo se detecta un sector defectuoso, se reescribe su cabecera con un bit de estado que indica esta circunstancia. Cuando el controlador lea la cabecera, lo sustituirá por otro sector reservado para este propósito. Los fabricantes suministran dentro de la propia unidad una lista de sectores defectuosos que usará la controladora. Los programas de chequeo producirán una lista actualizada de sectores defectuosos. En la imagen observamos la información ofrecida por una utilidad software sobre un disco SCSI: lista de sectores defectuosos de fábrica (izda) y los dañados posteriormente. El sector defectuoso fué detectado y marcado por la utilidad de diagnóstico incluida en la BIOS de una controladora SCSI. Este formato, que lo realiza el fabricante del disco, sólo es necesario una vez durante la vida útil del disco. Un formato posterior inadecuado puede provocar una infrautilización e incluso el malfuncionamiento del disco. 5.3.2.3.- Errores Llegados a ciertos niveles tecnológicos, es más barato corregir los errores que evitarlos. Lectura/escritura • Errores de escritura: Todas las unidades chequean los errores de escritura verificando el bloque en la siguiente revolución del disco. • Errores de lectura: Se cuantifican como el nº de errores producidos respecto al nº de bits leidos: Recuperables/irrecuperables Errores irrecuperables (Nonrecoverable errors): • Errores que el dispositivo detecta pero no puede corregir mediante ECC ni mediante el número de reintentos permitido. • Se especifica como nº errores/bits leidos. Puede tener unos valores del orden de 1/1012 y 1/1015 , es decir un error por varios trillones de bits leidos lo que supone unas 350 horas. Tema 5: Almacenamiento Versión 6.4 15 Ignacio Moreno Velasco Apuntes Mantenimiento de Equipos Informáticos Errores indetectados (Undetected errors): • Errores no detectados por la unidad de disco. • No suelen especificarse por la dificultad que supone medir errores que no son detectados. Errores recuperables • Errores que necesitan un reintento para ser correguidos. Los errores corregidos al vuelo por los códigos ECC no se consideran errores de lectura recuperables. Errores de búsqueda (Seek errors): • Cuando el brazo falla en la búsqueda del cilindro y la unidad necesita la ejecución de la rutina de recalibración para localizar dicho cilindro. Ejemplo: Maxtor D740X-6L: y Retry recovered read errors: 1 event per 109 bits read y Unrecovered read errors: 1 event per 1014 bits read y Seek errors: 1 error per 106 seeks Las tasas de error se dan para el peor caso de temperatura y tensión de alimentación. Tema 5: Almacenamiento Versión 6.4 16 Ignacio Moreno Velasco 5.3.2.4.- Apuntes Mantenimiento de Equipos Informáticos Ejemplos de especificaciones Comparación discos Seagate de 4 GB y de 1000 GB PARÁMETRO STM31000340AS ST38641A Guaranteed Mbytes (106 bytes) MB garantizados (MB = 106 bytes) 1000 Gbytes 4.227 Mbytes Discs Discos 4 4 Physical read/write heads Cabezas 8 8 Bytes per sector Bytes por sector 512 512 Default sectors per Track Sectores por pista predeterminados 63 63 Default cylinders Cilindros 16.383 16.383 Spindle speed (RPM) Velocidad 7.200 rpm. 5.400 rpm. Internal data-transfer rate Tasa de transferencia interna 160,875 MB/s máx. 17,5 MB/s máx. I/O data-transfer rate Tasa de transferencia externa 300 MB/s máx. 33,3 MB/s máxi. ATA data-transfer modes Modos ATA soportados de transferencia de PIO: 0–4 PIO: 0-4 supported datos DMA Multiword: 0–2 DMA Multiword: 0-2 Ultra DMA: 0–6 Ultra DMA: 0-2 Cache buffer Tamaño del buffer de cache 32 Mbytes 128 KBytes Track-to-track seek time Promedio de todas las posibles búsquedas de <1,0 (read) 1,3 (read) (msec typical) una pista a la contigüa en ambas direcciones <1,2 (write) 1,7 (write) Average seek time (msec typical) Valor estadístico medio de al menos 5000 <8,5 (read) 11,0 (read) mediciones de búsqueda aleatoria de pistas. <9,5 (write) 11,5 (write) Average latency (msec) Valor medio de la latencia, o sea la mitad de 4,16 5,6 lo que tarda en dar una vuelta. Power-on to ready (sec typical) Tiempo en estar listo desde que se enciende 20 sec max 14 10 Nonrecoverable read errors Errores no recuperables 1 per 10 bits read 1 per 1013 bits read Mean time between failures Tiempo medio entre fallos expresado en 700.000 300.000 (power-on hours) horas de funcionamiento Contact start-stop cycles Ciclos de marcha-parada por el contacto del 50.000 40.000 (25°C,40% relative humidity) cabezal con la superficie. Service life (years) Vida de servicio en años No especificado 5 Notar la diferencia entre la tasa de transferencia externa (controladora-interfaz ATA) y la tasa de transferencia interna del disco (disco-controladora). Tema 5: Almacenamiento Versión 6.4 17 Ignacio Moreno Velasco Apuntes Mantenimiento de Equipos Informáticos Hitachi 7K400 Parámetro Hitachi 7K250 Hitachi 7K400 Capacity Buffer (MB) Platters Heads Rotational Speed (RPM) Rotational Latency (ms) Platter Density (Effective GB) Areal Density (Gbits/sq. inch) Track Density (KTPI) Data Transfer Rates (max Mbps) Rated Average Seek Time (ms) Rated Acoustics (dB) 250GB 8 3 6 7.200 4,17 83.3 62 93,5 757 8,5 30 400GB 8 5 10 7.200 4,17 80 62 90 757 8,5 31 At 8.7GB per hour, HDTV can eat up drive space at an alarming rate. Even a 400GB drive will only hold about 45 hours of HDTV content (depending on compression). http://www.extremetech.com/print_article/0,1583,a=125153,00.asp 5.3.3.- TERCER NIVEL (FORMATO DE ALTO NIVEL) Como ya se dijo, en este nivel de formato se organiza el disco para su utilización por el sistema operativo. Esto incluye la división en particiones, en directorios, tablas de asignación de archivos (FATs), etc. 5.3.3.1.- Particiones del disco duro A diferencia de los disquetes, un disco duro puede dividirse en varias particiones (P. ej. mediante FDISK de MS-DOS) antes de proceder al formato de cada una de ellas (P. ej. Mediante el orden format de MS-DOS). Las particiones, también conocidas como volúmenes, pueden ser formateadas de distinta manera y contener distintos sistemas operativos. (P. Ej. Una partición FAT16 con MS-DOS, una partición FAT32 con WinXP y otra NTFS con WindowsVista). Realizando varias particiones, podemos aprovechar discos cuyo tamaño sea mayor al que el sistema operativo puede manejar. Por ejemplo Windows 95, que utiliza FAT16, sólo puede manejar particiones de hasta 2 GB por lo que un disco de 4,5 GB debía dividirse en varios volúmenes de hasta 2 GB para no desaprovechar su capacidad. Tema 5: Almacenamiento Versión 6.4 18 Ignacio Moreno Velasco Apuntes Mantenimiento de Equipos Informáticos Distintas partes un disco a nivel de formato. El sector de particiones (MBR) y las propias particiones. En este nivel de formato, el disco duro se divide en las siguientes partes: 1. Sector de particiones o Master Boot Record (MBR): En él se definen las particiones en que puede dividirse el disco. (Esta parte no existe en los disquetes, que no pueden tener particiones). 2. Particiones, cada una de las cuales se compone de: • Sector de arranque: Contiene una rutina para el arranque del sistema operativo de la partición además de una zona con los parámetros que necesitan las rutinas del BIOS (BIOS Parameter Block) • FAT (File Allocation Table): La tabla de localización de archivos contiene una lista de todos los fragmentos (llamados clusters) que componen cualquiera de los archivos del volumen. • Directorio raiz: Contiene una lista de los archivos del volumen (nombre, extensión, tamaño, etc…). • Zona de datos: Contiene la información de usuario, es decir, los archivos. Tema 5: Almacenamiento Versión 6.4 19 Ignacio Moreno Velasco Apuntes Mantenimiento de Equipos Informáticos Estructura del MBR de un disco duro Dirección hex. Contenido Tamaño +000 Código de partición Código (446 bytes) +1BE 1ª entrada de la tabla de particiones 16 bytes +1CE 2ª entrada de la tabla de particiones 16 bytes +1DE 3ª entrada de la tabla de particiones 16 bytes +1EE 4ª entrada de la tabla de particiones 16 bytes +1FE Código que identifica a este sector como 2 bytes Tabla de particiones MBR. Este código es AA55h Longitud = 200 hex. 512 bytes Se detallan, a continuación, cada una de las partes descritas: 5.3.3.2.- El sector de particiones (MBR: Master Boot Record) Físicamente es el primer sector ocupando el cilindro 0, cabeza 0, sector 1 (no existe sector 0). Es más conocido por MBR (Master Boot Record). • Contiene la tabla de particiones donde se definen las particiones presentes en el disco. • Este sector contiene el código que carga el BIOS al arrancar el sistema mediante el disco duro: 1. Se ejecuta el código de partición que busca la partición activa o de arranque, y con ello el sistema operativo a ejecutar. 2. Se carga en memoria la porción ejecutable del sector de arranque de la partición activa. 3. La CPU ejecuta el código cargado en memoria. 4. Este código busca un gestor de arranque, si lo hubiera (P. Ej. NT loader, LILO) 5. Una vez que el usuario decide desde que partición quiere arrancar, el gestor pasa a ejecutar el sector de arranque de dicha partición. Hasta aquí, el funcionamiento es independiente del sistema operativo, aunque no del hardware, pues debe ser una máquina compatible 80x86 la que pueda ejecutar el código del MRB y del sector de arranque. Ejemplos: • Muchos antivirus y herramientas de diagnóstico crean un disquete de emergencia en el que incluyen una copia del MBR del disco duro. Esto permite restaurarlo en caso de desastre. • Algunos programas de diagnóstico de disco pueden intentar regenerar el MBR a partir de un examen exhaustivo del disco, aunque no siempre lo consiguen. Tema 5: Almacenamiento Versión 6.4 20 Ignacio Moreno Velasco Apuntes Mantenimiento de Equipos Informáticos La tabla de particiones Como puede verse en la tabla anterior, el sector de particiones contiene una tabla de particiones con 4 entradas, lo que supone una limitación a 4 particiones llamadas primarias. Algunos fabricantes de discos han salvado esta limitación mediante programas de configuración propios. La utilidad Fdisk para la partición de discos en MS-DOS y Win 9x sólo permite la creación de 2 particiones: Primaria y Extendida. En un disco vacío, a la primaria se le asigna la unidad C:, mientras la extendida puede ser dividida en varias unidades lógicas: D:, E:, etc… Esta misma utilidad nos permite seleccionar cual de las dos será la partición activa. Ejemplo: Particiones y unidades lógicas en Windows 2000 A partir de Windows 2000, es posible crear hasta cuatro particiones primarias en un disco o tres particiones primarias y una partición extendida. El disco duro de la imagen contiene 2 particiones: Partición primaria: C con formato FAT32 Partición extendida: formada de 4 unidades lógicas E, F, G, H con distintos formatos. Cada entrada de la tabla de particiones se compone de la siguiente información: Direcc. +00h +01h +02h +04h +05h +06h +08h +0Ch Contenido Estado de la partición 00h = inactiva 80h = Partición de arranque Cabezal en el que comienza la partición. Sector y cilindro en el que comienza la partición. Tipo de partición: 00h = Entrada no ocupada 04h = DOS, FAT16 0Bh = FAT32 Cabezal en el que termina la partición. Sector y cilindro en el que termina la partición. Distancia del primer sector de la partición (sector de arranque). Número de sectores de esta partición TOTAL Tema 5: Almacenamiento Versión 6.4 Tipo 1 Byte 1 Byte 1 Word 1 Byte 1 Byte 1 Word 1 Dword 1 Dword 16 Bytes 21 Ignacio Moreno Velasco Apuntes Mantenimiento de Equipos Informáticos Mediante esta tabla, quedan perfectamente definidos los parámetros necesarios para poder arrancar desde cualquier partición del disco duro. Ejercicio: Calculemos la limitación de tamaño de una partición: Las coordenadas CHS son C = 1 byte, HS = 1 Word = 16 bits. Haciendo un total de 24 bits. Como en cada sector caben 512 bytes, tenemos: 224 x 512 bytes = 233 bytes = 8 GB Recordemos que la estructura básica de un volumen bajo el sistema de archivos de MS-DOS se compone de: • Sector de arranque. • FAT. • Directorio raíz. • Zona de datos. Veamos detalladamente cada una de las partes: 5.3.3.3.- Sector de arranque de la partición El llamado Boot Sector es el primer sector del volumen y es el responsable del arranque del sistema operativo instalado en la partición activa. CONTENIDO DEL SECTOR DE ARRANQUE BPB, Bios Parameter Block TOTAL = 512 bytes = Tamaño de sector. • El BIOS carga en memoria la porción de código de este sector y lo ejecuta. Siempre comienza por una instrucción de salto al final del propio sector de arranque donde reside la rutina de arranque. • Los demás campos del sector describen el formato físico del medio. Es el llamado BPB, Bios Parameter Block. Tema 5: Almacenamiento Versión 6.4 22 Ignacio Moreno Velasco Apuntes Mantenimiento de Equipos Informáticos BPB (Bios Parameter Block) • Se encuentra en el sector de arranque • Contiene los parámetros que describen el formato físico de la partición: Bytes por sector, sectores por pista, etc. • Estos parámetros son usados por el BIOS para sus rutinas de acceso y por ello se les conoce como BPB, Bios Parameter Block. 5.3.3.4.- FAT (File Allocation Table) Es una lista con la ubicación de los fragmentos (clusters) que forman los archivos del volúmen. CLUSTER La unidad mínima en que se organizan los ficheros se llama cluster. • En el sector de arranque se especifica el tamaño del cluster, es decir, el número de sectores. • El tamaño del cluster depende del tamaño que asignemos a la partición. Observar la diferencia entre el tamaño del archivo (contiene la palabra hola y por tanto es de 4 bytes) y lo que ocupa, es decir el mínimo posible: 1 cluster (4 KB por ser FAT32 y ser menor de 8 GB) FAT12 y FAT16 Tamaño partición Sectores por cluster Tamaño cluster Hasta 2 GByte 64 32 KByte <1 GByte 32 16 KByte <512 MByte 16 8 KByte <256 MByte 8 4 KByte <128 MByte 4 2 KByte Tema 5: Almacenamiento Versión 6.4 23 Ignacio Moreno Velasco Apuntes Mantenimiento de Equipos Informáticos Fragmentación Los archivos no se guardan en cluster consecutivos sino que a medida que se borran y añaden archivos, los clusters de un mismo archivo se desperdigan por el disco (i.e. fragmentación). El hecho de agrupar los sectores en clusters, impide que la fragmentación sea exagerada. # Propuesto 5.2: Comprobar la concordancia de las cifras de la siguiente partición FAT16. Contenido de la FAT La tabla FAT, contiene una fila (o entrada) por cada cluster del volumen. Esta entrada indica el estado del cluster (libre, ocupado, defectuoso o cual es el siguiente cluster de la lista). Podemos considerar la FAT como un mapa de los clusters, sin él no podríamos reunir los clusters que forman un archivo. El tamaño de cada entrada de la FAT16 es de 16 bits, en la FAT32 será de 32 bits. CODIFICACIÓN DE LAS ENTRADAS DE LA FAT16 Código del cluster Significado 0000h Cluster libre FFF0h hasta FFF6h Cluster reservado FFF7h Cluster defectuoso Î No usado FFF8h hasta FFFFh Último cluster del archivo XXXXh Siguiente cluster del archivo El directorio raiz contiene sólo el código del primer cluster del archivo, los demás clusters del archivo se van encadenando según conste en la FAT. Tema 5: Almacenamiento Versión 6.4 24 Ignacio Moreno Velasco Apuntes Mantenimiento de Equipos Informáticos Ejemplo: Supongamos un volumen FAT16 de 2GB (i.e. cluster = 32 KB) que contiene un archivo cuyo primer cluster se encuentra en la posición 009Eh de la FAT. Contenido FAT Dirección En el ejemplo, el directorio raiz contendría, … además de otros atributos del archivo, su 009Eh 0100h 1er cluster del archivo primer cluster, es decir 009Fh 0000h Cluster libre 009Eh. Siguiendo “el mapa” de la FAT, el 0100h 0101h 2º cluster del archivo archivo estaría 0101h 0102h 3 er cluster del archivo compuesto de los clusters: 009Eh ⇒ 0102h 0104h 4º cluster del archivo 0100h ⇒ 0101h ⇒ 0102h ⇒ 0104h ⇒ 0103h FFF7h Cluster defectuoso 0105h. Esto supone un 0104h 0105h 5º cluster del archivo tamaño de 192 KB (= 6 clusters x 32KB) dividido 0105h FFF8h Último cluster del archivo en 3 fragmentos o grupos … de clusters consecutivos. FAT12 y FAT16 El tamaño de las entradas es de 12 ó de 16 bits. Esto se especifica en el sector de arranque del volumen y limita el tamaño de la partición. • Con 12 bits, se pueden tener un máximo de 4.096 clusters (=212). • Con 16 bits, se pueden tener un máximo de 65.536 clusters (=216). Las particiones de un disco tienen una limitación de tamaño en función del formato usado: • FAT12: 4.096 clusters x 32 KB/cluster = 134.217.728 bytes = 128 MB. • FAT16: 65.536 clusters x 32 KB/cluster = 2.147.483.648 bytes = 2,0 GB. # Propuesto 5.3: ¿Cuánto ocupa la FAT12 y la FAT16? FAT32 Con Windows 95 OSR-2 se introduce FAT32 que, según Microsoft, aporta las siguientes ventajas: • Permite que los programas se abran más rápidamente, hasta un 50% de media. • Utiliza un tamaño de clúster menor, lo que da como resultado un uso más eficaz del espacio del disco (hasta un 15% más eficaz). En contra estaría una mayor fragmentación. • Aunque el límite teórico es mayor, en la práctica permite dar formato a un disco duro de hasta 2 TB como si fuera una única unidad, eliminando la necesidad de hacer particiones en el disco duro. Tema 5: Almacenamiento Versión 6.4 25 Ignacio Moreno Velasco Apuntes Mantenimiento de Equipos Informáticos Tamaño de la partición Tamaño del clúster FAT32 < 512 MB No maneja particiones menores de 512 MB 512 MB – 8 GB 4 KB 8 a 16 GB 8 KB 16 a 32 GB 16 KB Más de 32 GB 32 KB SEGURIDAD DE LA FAT Un daño en la FAT no borra el contenido pero deja inaccesibles los archivos. (Virus, apagones). • El programa de formateo puede realizar una o varias copias de la FAT, que el sistema operativo se encarga de tener actualizadas. • Si un programa como CHKDSK encuentra un error en la FAT, la sustituye por una de sus copias. 5.3.3.5.- El directorio raiz Se encuentra después de la FAT y de sus copias. • Se compone de entradas de 32 bytes con toda la información sobre los archivos y directorios: Ö nombre, tamaño, atributos, fecha y hora de la última modificación y la posición (número de su primer cluster). • Tiene un tamaño fijo (especificado en el sector de arranque) que se define en el formateo según el tamaño del volumen, por lo que puede llegar a llenarse. • Cuando la entrada se refiere a un subdirectorio, el bit 4 del byte de atributos está activado. Tema 5: Almacenamiento Versión 6.4 26 Ignacio Moreno Velasco 5.3.3.6.- Apuntes Mantenimiento de Equipos Informáticos Zona de datos Situada detrás del directorio raíz, ocupa el resto del espacio disponible. • Los archivos se guardan en clusters desperdigados por la zona de datos pero enlazados por la FAT. • Un archivo ocupa como mínimo un cluster, por lo que si el cluster es grande (particiones grandes) se desperdicia espacio. 5.3.3.7.- Acceso a un archivo El acceso a un archivo puede descomponerse en las siguientes fases: 1. Se acude al directorio raiz y se busca el nombre del archivo. 2. Junto al nombre se encuentra el número del primer cluster de dicho archivo. 3. Con este número se acude a la FAT que contiene el siguiente cluster. 4. Con este cluster, hay que calcular el sector correspondiente, teniendo en cuenta que el primer sector de datos (primer sector lógico) no se corresponde con el primer sector físico. Tema 5: Almacenamiento Versión 6.4 27