Gracias por A2A.
Me atendré a los discos duros, aunque las reglas básicas se aplican también a los disquetes.
Originalmente, los discos duros tenían un formato de bajo nivel para escribir pistas y sectores pero, por lo demás, no contenían datos. El disco estaba listo para que el sistema operativo lo formatee, lo que incluiría “Buscar tablas” para la dirección de inicio física de cada archivo.
- ¿Cuál es el estado actual de las computadoras cuánticas?
- ¿Cuáles son algunos de los buenos usos de una mini computadora?
- ¿Puedo usar una placa base sin un gabinete o estuche?
- Cómo mover múltiples archivos de una carpeta a diferentes carpetas
- Cómo extender la memoria en mi computadora portátil
Era una práctica común que el número de sectores (como porciones de pastel) fuera el mismo para cada pista. (Algunos de los primeros sistemas Floppy usaban husillos de velocidad variable para que hubiera menos sectores en el centro y más sectores en el exterior, optimizando la cantidad de datos que podrían almacenarse).
No entraré en detalles completos del sistema de archivos, ya que esa es la respuesta en sí misma que se puede encontrar en Wikipedia. Cuando desea leer un archivo, la computadora lee la zona “catálogo” (Apple) [conversación] para buscar nombres de carpetas y nombres de archivos en el directorio raíz, que generalmente comenzará en la misma ubicación en cada disco. Si el archivo está en una carpeta (o directorio), entonces el sistema operativo tiene que leer la carpeta desde el nivel raíz para encontrar la dirección de la lista del directorio, que generalmente tendrá la forma de Head, Track, Sector. Esta dirección se alimenta al controlador de la unidad que moverá las cabezas a la Pista seleccionada y esperará a que el Sector seleccionado pase por debajo de la Cabeza seleccionada. Al repetir esto varias veces, se pueden rastrear varias capas de carpeta / directorio hasta que se identifique la ubicación física del inicio del Archivo. Si el sistema operativo tiene la capacidad, gran parte de esta información de seguimiento se almacena en la RAM para que sea más rápido localizar un archivo determinado.
Este sistema fue bastante consistente en los primeros días de los discos duros para el consumidor que dependían de una tarjeta controladora y de discos duros controlados analógicamente. Las primeras unidades que aparecieron en el mercado de consumo que incorporaron el controlador directamente en el disco duro (Integrated Disc Electronics) fue el disco duro SCSI utilizado por Apple Macintosh. Cuando salió la versión paralela solo se llamaba IDE. A medida que las capacidades de la unidad comenzaron a aumentar y el Sistema Operativo no pudo manejar ciertos factores, se introdujo el direccionamiento de bloque lógico. Esto significaba que la arquitectura física del HDD podría ser radicalmente diferente de lo que vio el sistema operativo. Si el recuento de pistas era demasiado alto, las cabezas falsas permitían que el sistema operativo leyera las pistas inaccesibles.
La mayoría de los discos duros modernos tienen un solo plato con dos cabezales, aunque la geometría presentada al sistema operativo puede ser de 16 (o más) cabezales. Además, debido a que el controlador está completamente integrado con la mecánica, el formato de bajo nivel se realiza en la fábrica, y la cantidad de sectores en cada pista puede variar, nuevamente, para optimizar el espacio de almacenamiento, excepto que el sistema operativo nunca lo ve. Todavía utiliza el direccionamiento físico de un sistema de sector fijo y el controlador clasifica el resto.
Como he señalado en otras respuestas, la densidad de datos de los discos HDD ha cruzado el punto de confiabilidad y casi todos los datos escritos seguramente tendrán errores cuando se vuelvan a leer. Nuevamente, basado en los sistemas más antiguos, el sistema operativo incluye una cierta cantidad de información adicional para propósitos de corrección de errores, pero no es adecuado para el nivel conocido de fallas en un nuevo HDD. Por lo tanto, el controlador escribe información adicional de corrección de errores para que pueda leer y corregir antes de devolver los datos al sistema operativo.
Entonces, cuando el sistema operativo quiere abrir el archivo “\ documents \ private \ letterhead.doc”, va al listado del directorio raíz que comienza en Head 0, Track 4, Sector 0 para encontrar dónde comienza la lista del directorio “documentos”, digamos Head 0, Track 56, Sección 15. Luego lee la lista del directorio “documentos” para encontrar dónde comienza “privado”, por ejemplo Head 0, Track 128, Sector 12. Luego lee la lista del directorio “privado” para encontrar dónde está el archivo “Letterhead.doc” comienza, diga Head 1, Track 42, Sector 19. Luego lee ese archivo en la aplicación que lo solicita.
Nota: debido a que el seguimiento de cada sector en un disco duro puede ocupar demasiada memoria, los sectores a menudo se agrupan en clústeres. La cantidad de sectores por clúster se calcula para equilibrar la memoria requerida para el seguimiento frente a la cantidad de espacio no utilizado debido a los archivos pequeños. Es por eso que un atajo en el escritorio ocupará 1kB de espacio en disco, aunque la información real sea mucho menor.
Si comienza con este artículo de Wikipedia, puede leer cómo los diferentes sistemas de archivos (como FAT versus NTFS) manejan la “información del encabezado” que permite que un Sistema Operativo encuentre un archivo en particular: Sistema de archivos