![Como um sistema operacional lida com diferentes tipos de dispositivos de armazenamento](https://rvso.com/image/154451/Como%20um%20sistema%20operacional%20lida%20com%20diferentes%20tipos%20de%20dispositivos%20de%20armazenamento%20.png)
No Linux, parece que o sistema operacional sabe a que tipo de dispositivo de armazenamento está conectado. Por exemplo. Vejo /dev/sda para dispositivo SSD e /dev/mmcblk para cartão SD.
Eu queria saber como o sistema operacional é capaz de saber que tipo de dispositivo está conectado? Além disso, qual é o componente do sistema operacional que permite interagir com esses dispositivos. É o driver do dispositivo? Eu li que o sistema operacional apresenta todos os dispositivos como um arquivo. É o driver do dispositivo que apresenta uma interface comum para permitir essa abstração de arquivo?
Responder1
Você está basicamente certo. O sistema operacional precisa saber o tipo de dispositivo de armazenamento, pois possui uma interface completamente diferente para um cartão SD (provavelmente blocos MMC dedicados na CPU com o protocolo MMC) do que para o SSD (SATA?) ou alguma unidade externa (USB armazenamento em massa?). Você tem drivers de dispositivos completamente diferentes conversando com um protocolo diferente em um barramento de hardware diferente. Na verdade, não há necessidade de se perguntar como saber o tipo de dispositivo, mas sim de como fazer com que esses dispositivos completamente diferentes tenham a mesma aparência.