Язык программирования для драйверов

Обсуждение особенностей и проблем старого железа

Re: Язык программирования для драйверов

Сообщение SkyKuker » 29 май 2019, 08:22

Это не троллинг, я хочу написать драйвер для нового железа под старые ОС. Не понимаю я просто, как на Паскале, будучи высокоуровневым языком, можно написать драйвер? Ещё, был бы соответствующий компилятор...
Как я понял, драйвер - это (объясняю сам): Штуковина такая, заставляющая ОС работать и взаимодействовать с железом. :roll: :oops:
Последний раз редактировалось SkyKuker 29 май 2019, 08:27, всего редактировалось 1 раз.
Лишь те, кто докажет свою преданность этому миру, будут уважаемы остальными...
(C) SK, aka ПП.
SkyKuker
Матерый даунгрейдер
 
Сообщения: 77
Зарегистрирован: 03 июл 2018, 23:14
Откуда: Украина, Киев
Железо: HP e117dx, EEE PC 901 (В коме), SM-T585, Huawei P Smart+ INE-LX1, Wii Lu64+, Switch HAC-001-01

Re: Язык программирования для драйверов

Сообщение Nika » 29 май 2019, 09:27

Да походу всё-таки троллиг.
Куча литературы есть на эту тему, в этом треде тоже давали ссылки.
Интересует тема - читайте, разбирайтесь.

И адаптация старого софта под новое "железо" это занятие неблагодарное, на любителя.
Оно не окупается категорически, чисто по деньгам.
Nika
Мастер Даунгрейда
 
Сообщения: 852
Зарегистрирован: 16 окт 2013, 23:21

Re: Язык программирования для драйверов

Сообщение KPG » 29 май 2019, 17:02

SkyKuker писал(а):Это не троллинг, я хочу написать драйвер для нового железа под старые ОС. Не понимаю я просто, как на Паскале, будучи высокоуровневым языком, можно написать драйвер? Ещё, был бы соответствующий компилятор...
Как я понял, драйвер - это (объясняю сам): Штуковина такая, заставляющая ОС работать и взаимодействовать с железом. :roll: :oops:

Вам нужно посетить группу в Vk ReactOS если не забанят, то 100% объяснят и направят в нужном направлении. :) (и даже скажут спасибо при наличии каких то результатов для проекта)

P.S. ReactOS - старая Windows совместимая Ось на новый лад.
KPG
Мастер Даунгрейда
 
Сообщения: 318
Зарегистрирован: 21 окт 2015, 20:53

Re: Язык программирования для драйверов

Сообщение Freeman » 29 май 2019, 22:59

SkyKuker писал(а):Не понимаю я просто, как на Паскале, будучи высокоуровневым языком, можно написать драйвер? Ещё, был бы соответствующий компилятор...

В интернетах есть статья "Пишем драйвер на Delphi". Используются dcc32 от Delphi 3 и link от VC++/PlatformSDK. Для более новых версий Delphi можно проштудировать темы по Delphi на форуме KolibriOS, там же выкладывали утилиту, преобразующую объектники Delphi 4 и старше в формат COFF, совместимый с MS link.

Как вариант можно использовать FreePascal (FPC), но для него придется сильно колдовать со стандартной библиотекой и ручной сборкой, чтобы получить драйвер. Какой-то конкретной темы не видел... Хотя на форуме FreePascal.ru была тема о выносе RTL FPC в DLL, полезная инфа может быть в ней.

На форуме KolibriOS также выкладывался компилятор языка Оберон, собирающий PE. Не Паскаль, но близко. Не знаю, сможет ли этот компилятор собрать драйвер. Поизучайте.

И есть еще FASM, конечно же...
ОС размером 250 МБ (проект): теория, системные требования, участие изучение рыночной ниши по вашим ответам
Аватара пользователя
Freeman
Мастер Даунгрейда
 
Сообщения: 937
Зарегистрирован: 06 дек 2012, 04:49
Откуда: Санкт-Петербург
Железо: В прошлом

Re: Язык программирования для драйверов

Сообщение SkyKuker » 30 май 2019, 11:41

Куча литературы есть на эту тему, в этом треде тоже давали ссылки.

Мне просто название языка нужно :oops: :evil:...
адаптация старого софта под новое "железо" это занятие неблагодарное

Почему неблагодарное? Оно очень как-бы помогает изучить историю (себе и остальным даунгрейдерам), каким оно было раньше...
Оно не окупается категорически, чисто по деньгам.

Что значит "не окупается категорически"?
ReactOS

ReactOS не нужен, он не стартует на новых компах (7B). Тем более, он эмулирует ядро NT (>5.0), а мне такая версия ядра надоела.
Freeman писал(а):
SkyKuker писал(а):Не понимаю я просто, как на Паскале, будучи высокоуровневым языком, можно написать драйвер? Ещё, был бы соответствующий компилятор...

В интернетах есть статья "Пишем драйвер на Delphi"....

Freeman писал(а):Для более новых версий Delphi можно проштудировать темы по Delphi на форуме KolibriOS, там же выкладывали утилиту, преобразующую объектники Delphi 4 и старше в формат COFF, совместимый с MS link.

Freeman писал(а):...на форуме FreePascal была тема о выносе RTL FPC в DLL, полезная инфа может быть в ней.

Freeman писал(а):На форуме KolibriOS также выкладывался компилятор языка Оберон, собирающий PE.

Ссылку приводите, пожалуйста.
Последний раз редактировалось SkyKuker 09 авг 2019, 13:14, всего редактировалось 2 раз(а).
Лишь те, кто докажет свою преданность этому миру, будут уважаемы остальными...
(C) SK, aka ПП.
SkyKuker
Матерый даунгрейдер
 
Сообщения: 77
Зарегистрирован: 03 июл 2018, 23:14
Откуда: Украина, Киев
Железо: HP e117dx, EEE PC 901 (В коме), SM-T585, Huawei P Smart+ INE-LX1, Wii Lu64+, Switch HAC-001-01

Re: Язык программирования для драйверов

Сообщение uav » 30 май 2019, 14:06

SkyKuker, Вам же уже выше написали - для DOS/Win 3.x/Win95 - ассемблер, дальше (98-я и выше) чаще использовали Visual C.
На Delphi тоже можно, но, IMHO, это довольно сомнительно.
Аватара пользователя
uav
Мастер Даунгрейда
 
Сообщения: 1912
Зарегистрирован: 22 дек 2008, 14:21

Re: Язык программирования для драйверов

Сообщение SkyKuker » 30 май 2019, 22:51

uav, благодарю, учту. Мне просто чтобы очень просто было и под ВСЕ ОС, что <XP. Думаю, что мне Ваши советы пригодятся!
Для ОС, написанных на низко- и высокоуровневых языках, и высокоуровневые сгодятся, я правильно понял?
Лишь те, кто докажет свою преданность этому миру, будут уважаемы остальными...
(C) SK, aka ПП.
SkyKuker
Матерый даунгрейдер
 
Сообщения: 77
Зарегистрирован: 03 июл 2018, 23:14
Откуда: Украина, Киев
Железо: HP e117dx, EEE PC 901 (В коме), SM-T585, Huawei P Smart+ INE-LX1, Wii Lu64+, Switch HAC-001-01

Re: Язык программирования для драйверов

Сообщение uav » 30 май 2019, 23:12

Тут не имеет значения, на чём написана сама ОС. Скорее имеет значение, на какой язык и средства разработки был рассчитан DDK.
Один язык для всех ОС - сомнительно, но если Вам больше интересны старые операционки (DOS/W95), то изучайте ассемблер.
Последний раз редактировалось uav 30 май 2019, 23:14, всего редактировалось 2 раз(а).
Аватара пользователя
uav
Мастер Даунгрейда
 
Сообщения: 1912
Зарегистрирован: 22 дек 2008, 14:21

Re: Язык программирования для драйверов

Сообщение Freeman » 31 май 2019, 03:19

uav писал(а):для DOS/Win 3.x/Win95 - ассемблер

Нет.
ОС размером 250 МБ (проект): теория, системные требования, участие изучение рыночной ниши по вашим ответам
Аватара пользователя
Freeman
Мастер Даунгрейда
 
Сообщения: 937
Зарегистрирован: 06 дек 2012, 04:49
Откуда: Санкт-Петербург
Железо: В прошлом

Re: Язык программирования для драйверов

Сообщение uav » 31 май 2019, 10:38

Ну и почему, собственно, нет? В принципе, уже тогда иногда использовали и некоторые языки высокого уровня, но ассемблер всё равно хоть местами, но использовали - в виде вставок, к примеру.
Ясно, что для изучения он трудноват, но для работы с аппаратурой на низком уровне знать его желательно.
Под DOS для драйверов использовали почти исключительно ассемблер, в DDK для Windows 3.10, который здесь лежит, тоже примеры драйверов на ассемблере, DDK Windows 95 - опять-таки, почти исключительно ассемблер в примерах, (и там, и там C встречается, но больше для вывода пользовательского интерфейса и т.п.).
Последний раз редактировалось uav 31 май 2019, 10:48, всего редактировалось 4 раз(а).
Аватара пользователя
uav
Мастер Даунгрейда
 
Сообщения: 1912
Зарегистрирован: 22 дек 2008, 14:21

Re: Язык программирования для драйверов

Сообщение SkyKuker » 05 июн 2019, 14:55

Ребята, а есть ли способ как-нибудь "сдружить" ОС <Win98 с C, Visual C?
Оффтоп писал(а):Впрочем, а на чём написаны UniATA и VBEMP?
Последний раз редактировалось SkyKuker 17 июл 2019, 23:49, всего редактировалось 2 раз(а).
Лишь те, кто докажет свою преданность этому миру, будут уважаемы остальными...
(C) SK, aka ПП.
SkyKuker
Матерый даунгрейдер
 
Сообщения: 77
Зарегистрирован: 03 июл 2018, 23:14
Откуда: Украина, Киев
Железо: HP e117dx, EEE PC 901 (В коме), SM-T585, Huawei P Smart+ INE-LX1, Wii Lu64+, Switch HAC-001-01

Re: Язык программирования для драйверов

Сообщение uav » 05 июн 2019, 15:36

Ранние версии VC++ и так работают на 95-й и 98-й.

По поводу UniATA, вот же исходники:
http://alter.org.ua/ru/soft/win/uni_ata ... 7a_src.rar

Там, в частности, написано (в building.txt):
environment:
------------

MS VisualC 6.0 with sp5 or higher
Platform SDK 2001 or higher (I'm not sure if it is really required)
NT4 DDK
Последний раз редактировалось uav 05 июн 2019, 16:02, всего редактировалось 2 раз(а).
Аватара пользователя
uav
Мастер Даунгрейда
 
Сообщения: 1912
Зарегистрирован: 22 дек 2008, 14:21

Re: Язык программирования для драйверов

Сообщение SkyKuker » 05 июн 2019, 21:52

C++

Не C++, а C, это разные языки...
Лишь те, кто докажет свою преданность этому миру, будут уважаемы остальными...
(C) SK, aka ПП.
SkyKuker
Матерый даунгрейдер
 
Сообщения: 77
Зарегистрирован: 03 июл 2018, 23:14
Откуда: Украина, Киев
Железо: HP e117dx, EEE PC 901 (В коме), SM-T585, Huawei P Smart+ INE-LX1, Wii Lu64+, Switch HAC-001-01

Re: Язык программирования для драйверов

Сообщение uav » 05 июн 2019, 22:02

А Вы где-то видели просто MS Visual C? Я - нет.
Вот из Вики:
https://en.wikipedia.org/wiki/Microsoft_Visual_C%2B%2B
Первая версия была именно Visual C++.
Аватара пользователя
uav
Мастер Даунгрейда
 
Сообщения: 1912
Зарегистрирован: 22 дек 2008, 14:21

Re: Язык программирования для драйверов

Сообщение SkyKuker » 05 июн 2019, 22:06

Получается, что это один и тот же язык?
Хотя я сомневаюсь в этом, ибо в C++ есть высокоуровневые функции, не позволяющие драйверу "рашить" внутри ядра.
на какой язык и средства разработки был рассчитан DDK

Раз только от DDK зависит, то можно и на Pythonе написать?
Последний раз редактировалось SkyKuker 05 июн 2019, 22:07, всего редактировалось 1 раз.
Лишь те, кто докажет свою преданность этому миру, будут уважаемы остальными...
(C) SK, aka ПП.
SkyKuker
Матерый даунгрейдер
 
Сообщения: 77
Зарегистрирован: 03 июл 2018, 23:14
Откуда: Украина, Киев
Железо: HP e117dx, EEE PC 901 (В коме), SM-T585, Huawei P Smart+ INE-LX1, Wii Lu64+, Switch HAC-001-01

Пред.След.

Вернуться в Обсуждение железа

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 10