- PVSM.RU - https://www.pvsm.ru -
Считаю, что настало время Свету Белому увидеть еще одну малоизвестную разработку с большим потенциалом. Ее автором является уже известный публике (благодаря одному [1] из моих предыдущих постов) Alter [2] и некто DeathSoft.
Наверняка на Хабре обитает большое число программистов, которым хотя бы раз в жизни нужно было или приходилось писать драйвер. Чуть меньше, но тоже не мало тех, кто занимается написанием дров гораздо чаще чем никогда. Рано или поздно эти люди сталкивались с многообразием существующих в продакшене операционных систем и проблемой выбора из них целевой. Со стороны ситуация напоминает проблему кросбраузерной верстки и необходимости поддержки нескольких браузеров одновременно.
Лишь единицы-гуру владеют этим сакральным искусством в совершенстве, остальным приходиться прибегать к фреймворкам [3], сильно облегчающим задачу, или ограничиваться одной (чаще всего самой популярной) платформой. Так вот, капитан очевидность сообщает, в мире драйверов тоже существуют фреймворки и библиотеки облегчающие их написание. Посему представляю вашему вниманию:
CrossNtK.lib — библиотека с открытыми исходными кодами для написания драйверов, бинарно-совместимых с различными версиями NT от 3.51 до 2005 (Vista). В частности? на ее основе создан универсальный драйвер контролеров ATA-устройств — UniATA. [5]
Зачем?
А затем, что это imho способствует популярности и облегчает поддержку продукта. Лично мне очень нравятся программы, которые ставятся и работают где угодно. И наоборот, очень раздражают те, что требуют определенного ServicePack, имеют отдельный дистрибутив под каждую ОС и т.п. И, вопреки распространенному мнению, сделать драйвер универсальным не так сложно.
Автор: Jeditobe
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/open-source/12768
Ссылки в тексте:
[1] одному: http://habrahabr.ru/post/149032/
[2] Alter: http://alter.org.ua
[3] фреймворкам: http://ru.wikipedia.org/wiki/%D0%A4%D1%80%D0%B5%D0%B9%D0%BC%D0%B2%D0%BE%D1%80%D0%BA
[4] Cross-NT library: http://alter.org.ua/ru/soft/nt_kernel/crossnt/
[5] UniATA.: http://alter.org.ua/ru/soft/win/uni_ata/
[6] Примеры + способы: http://alter.org.ua/ru/docs/nt_kernel/crossnt/
Нажмите здесь для печати.