Всем доброго-бодрого время суток. Такой вопрос интересует: какие функции должен выполнять драйвер устройства? Возможность записи и чтения данных с устройства (вывод чего то на монитор и т.д.), не прибегая к программированию портов, и проверка жив ли ещё деваис или ещё что то?
Ну очевидно, что он должен обеспечивать абстрактное взаимодействие с нужным устройством, абстрагируя пользователей этого драйвера от конкретных особенностей программирования соответствующего девайса. В Windows это обеспечивается универсальными интерфейсами IRP_MJ_XXX и виртуальным объектом DEVICE_OBJECT. В этой ОС драйвер должен создавть объект "устройство" и прописывать в объекте "драйвер" каллбеки для нужных операций (открытие, закрытие, чтение, запись, управление и тп. - нужное подчеркнуть). После чего хендлить соответствующие запросы должным образом. В других операционных системах это происходит подобным образом.