¿Cómo exactamente una PC escribe datos para almacenar? ¿Cómo se comunica con los controladores de almacenamiento? (USB, SSD, HDD, CD, etc.)

Se accede a estos dispositivos a través de puertos de E / S y controladores DMA.

En un nivel bajo, el BIOS proporciona acceso inicial a los discos duros a través de la interrupción de software 13h. Probablemente también se pueda acceder a otros dispositivos a través de interrupciones suaves, pero prácticamente salí de eso justo cuando las unidades ópticas se estaban convirtiendo en dispositivos de arranque.

En el nivel del kernel, los controladores omiten el BIOS y proporcionan acceso a nivel de hardware a los niveles superiores del sistema operativo.

En el nivel del sistema operativo, los controladores de nivel superior reconocen y pueden manipular las estructuras del sistema de archivos en sus niveles más bajos. Hay niveles de acceso más abstractos en los niveles superiores del sistema operativo, como el almacenamiento en caché y los superbloques y los mapas de acceso con mapas de bits y cualquier otra cosa que utilicen los diversos sistemas de archivos para realizar un seguimiento de lo que están haciendo.

A nivel de usuario (programación, quiero decir) podemos crear archivos, bloquearlos, eliminarlos (desvincularlos), leerlos, escribirles, agregarlos, crear enlaces a ellos, etc., todo a través de los servicios proporcionados por niveles del sistema operativo y sus controladores.

Espero que esto ayude.

¿Cómo exactamente una PC escribe datos para almacenar? ¿Cómo se comunica con los controladores de almacenamiento? (USB, SSD, HDD, CD, etc.)