Pull to refresh

Универсальный подход к написанию универсальных драйверов

Reading time2 min
Views2.5K

Считаю, что настало время Свету Белому увидеть еще одну малоизвестную разработку с большим потенциалом. Ее автором является уже известный публике (благодаря одному из моих предыдущих постов) Alter и некто DeathSoft.

Наверняка на Хабре обитает большое число программистов, которым хотя бы раз в жизни нужно было или приходилось писать драйвер. Чуть меньше, но тоже не мало тех, кто занимается написанием дров гораздо чаще чем никогда. Рано или поздно эти люди сталкивались с многообразием существующих в продакшене операционных систем и проблемой выбора из них целевой. Со стороны ситуация напоминает проблему кросбраузерной верстки и необходимости поддержки нескольких браузеров одновременно.

Лишь единицы-гуру владеют этим сакральным искусством в совершенстве, остальным приходиться прибегать к фреймворкам, сильно облегчающим задачу, или ограничиваться одной (чаще всего самой популярной) платформой. Так вот, капитан очевидность сообщает, в мире драйверов тоже существуют фреймворки и библиотеки облегчающие их написание. Посему представляю вашему вниманию:

Cross-NT library.


CrossNtK.lib — библиотека с открытыми исходными кодами для написания драйверов, бинарно-совместимых с различными версиями NT от 3.51 до 2005 (Vista). В частности, на ее основе создан универсальный драйвер контролеров ATA-устройств — UniATA.

Зачем?

А затем, что это imho способствует популярности и облегчает поддержку продукта. Лично мне очень нравятся программы, которые ставятся и работают где угодно. И наоборот, очень раздражают те, что требуют определенного ServicePack, имеют отдельный дистрибутив под каждую ОС и т.п. И, вопреки распространенному мнению, сделать драйвер универсальным не так сложно.




Как обычно тестеры are very welcome!
Автор библиотек ждет обратной связи. alterX@alter.org.ua (remove X)
Tags:
Hubs:
If this publication inspired you and you want to support the author, do not hesitate to click on the button
Total votes 37: ↑29 and ↓8+21
Comments5

Articles