418ImATeapot писал(а):
б)Для каждого девайса - свои. А девайсов все больше и больше. Это касается не только видео, но и других девайсов, и, не в последнюю очередь - материнки.
Материнка -- не девайс, а целых 100500 разных девайсов, информации по половине из которых нет, поскольку зажата разработчиками этих самых материнок. К (не)счастью, с этими специфическими устройствами, отвечающими за управление питанием процессора, памяти и других компонентов, работу вентиляторов и т.д., напрямик работать не приходится: ими занимается код BIOS, который работает в режиме SMM и вызывается через SMI. Вот чтобы увязывать работу всей этой хрени с собственно ОС, необходимо обеспечить совместимость своей системы с ACPI. Иных современных стандартных путей решения этой задачи не существует.
Цитата:
Идея, собственно, такая:
Может имеет смысл создать унифицированный интерфейс для драйверов? Binary/Source/Bytecode?
Как сказал Yoda, эта идея нереальна. Не потому, что она плоха -- она-то как раз хороша. А потому, что драйверный интерфейс определяет, грубо говоря, 3/4 внутреннего устройства ОС. Если б не это, можно было бы поступить вообще очень просто: повторить в своей системе драйверный интерфейс Винды -- и всё, для тебя подходят любые драйверы, подходящие для Винды, т.е. практически для любых существующих устройств. Только вот реализовать такую задумку возможно лишь путём написания ядра Винды -- возможно, со своим API, отличающимся от Native API Винды, с иной организацией проверок безопасности и т.п., но в целом внутри повторяющим ядро Винды.
P.S. А вот хорошенько изучить драйверную модель Винды лично я настоятельно рекомендую. Она несколько раздута, но в целом более чем соответствует своему назначению, хорошо продумана и прочее бла-бла-бла.