NK
Прикладная программа общается с физ.устройством через его драйвер, т.к. запросы должны преодолеть запретную черту из юзера в кернел. Как-правило, одно устройство (в нашем случае диск) на разном уровне обслуживает сразу несколько связанных в цепочку драйверов – в литературе, эту цепочку назвали "стеком-драйверов". В то-же время, пользователь не может вызывать функции драйвера напрямую, поэтому система подключает посредников, в лице диспетчера ввода-вывода I/O Manager (по требованию юзера формирует пакеты запроса на ввод-вывод IRP), и диспетчера объектов Object Manager (прописывает символические ссылки на каждый из драйверов в системном пространстве имён).
Читать: https://codeby.net/threads/programmirovanie-hdd-ssd-chast-2-praktika.74805/
#programming #asm #ioctl