¿Cómo se asigna la ubicación física en el disco duro para que la CPU localice los datos?

Cuando accede a un archivo:

  1. El sistema de archivos convierte el nombre del archivo en un desplazamiento en la tabla de inodo.
  2. Luego, en el contenido del inodo, hay una lista de todos los bloques que pertenecen a ese archivo (ya que pueden no ser solo bloques consecutivos, sino dispersos).
  3. Los bloques se traducen a una dirección LBA o C / H / S. Esta es una dirección que el chip en el disco duro puede entender.
  4. Se envía una solicitud para esta dirección al hardware del controlador de E / S, que, independientemente de la CPU, se pondrá en contacto con el controlador del disco duro (un chip en el HDD) y solicitará una lectura.
  5. El controlador del disco duro traducirá esa dirección a una dirección física, es decir, una ubicación en algún lugar de la placa, y comenzará a mover la cabeza y descargará el contenido en su propia memoria integrada.
  6. Cuando ha ensamblado un “paquete”, lo enviará a través del bus SATA al controlador de E / S.
  7. El controlador de E / S lo cargará a la RAM a través de DMA (Acceso directo a la memoria, un mecanismo para escribir / leer RAM sin involucrar a la CPU).
  8. Luego enviará una IRQ (Solicitud de interrupción), lo que hará que se guarde el estado actual de la CPU y se inicie una Rutina de servicio de interrupción.
  9. El ISR luego notificará a quien solicitó los datos que tiene algo (probablemente el propio controlador del sistema de archivos, que eventualmente notificará el proceso del usuario).

Tenga en cuenta que de los pasos 4 a 8, la CPU no participa en el proceso y es libre de hacer un trabajo útil. Estos pasos toman una ENORME cantidad de tiempo (incluso involucran los movimientos físicos de los servomotores y demás), hubiera sido un desperdicio que la CPU controlara ese proceso.

Los inodes son un concepto de sistema de archivos, el disco duro no sabe nada de ellos. Los discos duros se dividen en sectores, que son 512 o 4096 bytes. El primer sector es 1 (no 0), el segundo sector es 2, el tercero es 3 …

El primer sector tiene el MBR (desactualizado, ver más abajo), que indica los números de sector y el tamaño de hasta 4 particiones. Cada partición tiene un sistema de archivos, que normalmente tiene un encabezado dentro de los primeros sectores. El encabezado contendrá el número de sector del directorio raíz del sistema de archivos, de modo que el desplazamiento de la partición + el desplazamiento del sistema de archivos = el número de sector. Los inodes también contendrán un número de sector, relativo al inicio de la partición, o en algún otro punto del sistema de archivos, pero nunca se compensará desde fuera de la partición (las particiones se pueden mover).

Primero, el sector de arranque siempre está en una ubicación lógica estandarizada (aunque la ubicación física variará dependiendo de la unidad) para que las rutinas de BIOS muy simples sepan a qué transferir el control.

Después de eso, todo depende del sistema de archivos que esté utilizando y de cómo esté particionada su unidad. El sector de arranque debe apuntar a las ubicaciones correctas para que una unidad sea de arranque.

More Interesting

Cómo ejecutar una computadora sin un sistema operativo

¿Es posible construir una computadora que no consuma más energía por superficie que la constante solar (1,366 vatios por metro cuadrado)?

¿Cuál es el problema con mi computadora si no muestra nada en la pantalla pero cuando hago clic en Win + Prt Sc, tiene una pantalla y luego se apaga?

Cómo saber que necesito una mayor RAM o procesador en mi computadora portátil

Inmediatamente después de hacer un microchip / microprocesador, ¿cómo se programa por primera vez y cómo saben los programadores su lenguaje binario particular?

¿Qué hago cuando QuickBooks corre muy lento?

¿Cuáles son los beneficios de tener una tableta frente a tener una computadora portátil? ¿Cómo sería útil para un estudiante tener ambos?

¿Qué computadora sería mejor para la universidad, una computadora portátil o una Chromebook? Estoy buscando una computadora para mis historias (quiero ser autor).

¿Cuál es la mejor computadora para jugar?

¿Es un i3 suficiente para jugar?

Cómo aumentar la memoria de video dedicada para un AMD R5 M430 con 2 GB de VRAM

¿Qué dispositivos está utilizando como diseñador y qué dispositivos recomendaría (por ejemplo, computadora portátil, monitor, mouse, tableta táctil, etc.)?

¿Puedo tener dos discos duros SATA con dos sistemas operativos diferentes en una sola computadora ensamblada? ¿Me permitiría tener la opción de arrancar desde el sistema operativo elegido según sea necesario?

Cómo recuperar los datos de mi disco duro después de que mi computadora se descompuso

¿Cuáles son los mejores juegos de PC para una nueva computadora portátil que no es para juegos?