ESWay-kernel :: Улучшения в ядре / Kernel improvements

Collecting list of kernel bugs
User avatar
Eugene Gorbunoff
Site Admin
Posts: 685
Joined: Sat Apr 09, 2005 11:18
Location: St.Petersburg, Russia

ESWay-kernel :: Улучшения в ядре / Kernel improvements

Postby Eugene Gorbunoff » Fri Dec 08, 2006 17:00

Разработчику видеодрайверов нужны улучшения в ядре и заготовки функций:
* возможность делать MAlloc/VMGlobalToProcess/VMProcessToGlobal на указанный линейный адрес. В нутре ядра такая фича есть, но через девхелпы не экспортится. Надо там чего в кернеле поломать, дабы экспортилось
* есть VMAlloc и к нему KernVMAlloc. А вот например KernVMGlobalToProcess/KernVMProcessToGlobal нету. Надо реализовать. (это несложно в принципе, надо только разобраться как добавлять свои функции в KEE)
* Нужна функция SMP рандеву.
* еще, невредно бы управлять кешируемостью памяти, выделенной/намапленной через VMAlloc. Надо флаг какой добавить, дабы оно соответственные битики в PTE проставляло и соответственно при инициализации проца (в PSD) нужные регистры процу прописать.

User avatar
valerius
Posts: 16
Joined: Fri Jul 15, 2005 05:58
Location: Elizovo, Kamchatka
Contact:

Postby valerius » Sat Dec 09, 2006 11:29

А как добавить функции в KEE? У нас (или у вас -- eCo Software) есть исходники ядра и IBM позволяет их модифицировать?
don't use windows, try doors

User avatar
Igor Vaskov
Posts: 84
Joined: Thu Jul 07, 2005 13:28
Location: Москва
Contact:

Postby Igor Vaskov » Tue Dec 12, 2006 08:19

Откройте общественности, есть-таки исходники ядра или нет? Вы не поверите, но судьбой OS/2 интересуются многие компании. Группа компаний Альфа, например. Одни затраты на смену банкоматов огромные, да и, по сообщениям с мест, - глючат линуксовые банкоматы.
Если исходники есть (или хотябы выкупаемы за разумные с точки зрения бизнеса деньги), то я могу попытаться найти инвестора и организовать поддержку и _разработку_ ядра системы с нормальными (4-х значными) зарплатами для программистов. Естественно, интересует прежде всего выкупить ядро в собственность.
Если исходников нет, то гораздо тяжелее, но все-таки еще можно, организовать проект по разработке ядра с "нуля" на основе свободного микро ядра.
Переползание на Линукс ядро бизнес не интересует в принципе.

User avatar
/Serg/
Posts: 57
Joined: Thu Sep 01, 2005 22:34
Contact:

Postby /Serg/ » Tue Dec 12, 2006 17:25

Когда я слышу «могу попытаться найти инвестора», у меня один ответ 8)

ssh
Posts: 8
Joined: Tue Jun 20, 2006 14:05
Contact:

Postby ssh » Tue Dec 12, 2006 18:31

/Serg/ wrote:Когда я слышу «могу попытаться найти инвестора», у меня один ответ 8)


Давай? :)

Меня лично больше топорщат заявления, что интересует бизнес! Имхо бизнесу пофиг какое ядро работает в их банкоматах, другой вопрос, что та или иная IT общность пытается лоббировать то или иное решение..., но в любом случае, не стоит наверно за всех говорить1 ;)

User avatar
Igor Vaskov
Posts: 84
Joined: Thu Jul 07, 2005 13:28
Location: Москва
Contact:

Postby Igor Vaskov » Tue Dec 12, 2006 18:34

/Serg/ wrote:Когда я слышу «могу попытаться найти инвестора», у меня один ответ 8)

Ну так, а что вы хотите? Чтобы я под непонятные обещания инвесторов искал? При существующем положении дел я даже предлагать не буду.
Интересно не найти способ закопать пару-тройку лямов евро, а получить результат.

User avatar
Igor Vaskov
Posts: 84
Joined: Thu Jul 07, 2005 13:28
Location: Москва
Contact:

Postby Igor Vaskov » Tue Dec 12, 2006 18:41

ssh wrote:Меня лично больше топорщат заявления, что интересует бизнес! Имхо бизнесу пофиг какое ядро работает в их банкоматах, другой вопрос, что та или иная IT общность пытается лоббировать то или иное решение..., но в любом случае, не стоит наверно за всех говорить1 ;)


Я не корректно выразился. Не интересует операционка с ядром Линукса. Не интересует запуск OS/2 в виртуальной машине. И т.д.

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

User avatar
/Serg/
Posts: 57
Joined: Thu Sep 01, 2005 22:34
Contact:

Postby /Serg/ » Tue Dec 12, 2006 19:52

О военных ведомствах вам расскажет журнал «Мир компьютерной автоматизации». Просто зайдите на http://www.mka.ru и начинайте читать. О вертолётах, летающих вверх ногами (чтобы вражеские ракеты не догадались) и сбивающих спутники с околоземной орбиты (в темноте же видно их), заглушая радиостанции в радиусе 1000 км... (почему-то вспоминается, как сербы «Стелс» с плеча подстрелили).

...об использовании Линукса в системах ПВО: это называется «МСВС» — «Мобильная Система Вооруж0нных Сил». Все же знают — войны не будет. Ставят в ПВО всё, что угодно, лишь бы стендовые испытания пройти. Вот, RedHat 2.4 «поставили».

И не надо открывать никакие исходники, на Ассемблере они. :D :D :D

User avatar
Igor Vaskov
Posts: 84
Joined: Thu Jul 07, 2005 13:28
Location: Москва
Contact:

Postby Igor Vaskov » Tue Dec 12, 2006 21:04

Можно ерничать бесконечно, а по сути вопроса никто не ответил. А жаль.

User avatar
/Serg/
Posts: 57
Joined: Thu Sep 01, 2005 22:34
Contact:

Postby /Serg/ » Tue Dec 12, 2006 22:47

По поводу «VMGlobalToProcess», она же описана в документации...

User avatar
/Serg/
Posts: 57
Joined: Thu Sep 01, 2005 22:34
Contact:

Postby /Serg/ » Thu Dec 14, 2006 00:30

И есть функции для работы с GDT-селекторами, которые делают то же самое. В том числе «PhysToUsableVirt».

Статья по драйверам, где показана эта функция, отправлена почтой.

dixie
Posts: 10
Joined: Thu Dec 14, 2006 10:24

Postby dixie » Thu Dec 14, 2006 10:33

Igor Vaskov wrote:Ìîæíî åðíè÷àòü áåñêîíå÷íî, à ïî ñóòè âîïðîñà íèêòî íå îòâåòèë. À æàëü.

À ÷òî ìîæíî îòâåòèòü ïî ñóòè? ;)
Ãäå-òî åñòü âîðîâàííûå èñõîäíèêè ìåðëèíà - òîëüêî ÿäðî. Êòî-òî äàæå ïðèâîäèë èõ â ñîáèðàáåëüíûé âèä è äîáàâëÿë ÷àñòü ôóíêöèé KEE. Åñëè áóäóò äåíüãè - íàâåðíî íàéäóòñÿ è ýòè ëþäè (ñðàçó ãîâîðþ, ÷òî ýòî íå ÿ è ÿ èõ íå çíàþ). Íî ýòî ïóòü òîëüêî íà êàêîå-òî âðåìÿ.
À èäòè, èìõî, íàäî îò ReactOS - è, ìîæåò, äàæå, íå â ïàðå ñ íèìè - íî ïîòîìó æå ïðèíöèïó - îò ïîääåðæêè íèçêîóðîâíåâîãî NT kernel API. Äëÿ âèäåîäðàéâåðîâ, êàê ìèíèìóì. Ïîñêîëüêó ñ äðàéâåðàìè è åñòü îñíîâíàÿ ïðîáëåìà.
Íà íàïèñàíèå PM ìîæíî ïîçâàòü ìåíÿ :) À âîîáùå, ðàáîòà, êîíå÷íî, íåäåöêàÿ - âîò íàðîä è ïðÿ÷åòñÿ ;)

User avatar
LightElf
Posts: 11
Joined: Thu Dec 14, 2006 17:55

Postby LightElf » Thu Dec 14, 2006 17:58

/Serg/ wrote:Ïî ïîâîäó «VMGlobalToProcess», îíà æå îïèñàíà â äîêóìåíòàöèè...


È? âîïðîñ áûë â òîì, ÷òî äëÿ VMGlobalToProcess/VMProcessToGlobal íåò ýêâèâàëåíòà â KEE. À áûâàåò íóæíî.

User avatar
LightElf
Posts: 11
Joined: Thu Dec 14, 2006 17:55

Postby LightElf » Thu Dec 14, 2006 18:04

/Serg/ wrote:È åñòü ôóíêöèè äëÿ ðàáîòû ñ GDT-ñåëåêòîðàìè, êîòîðûå äåëàþò òî æå ñàìîå.  òîì ÷èñëå «PhysToUsableVirt».

Ñòàòüÿ ïî äðàéâåðàì, ãäå ïîêàçàíà ýòà ôóíêöèÿ, îòïðàâëåíà ïî÷òîé.


×òî òî æå ñàìîå äåëàþò? Ñîçäàþò þçâåðüñêèé ëèíåéíûé àëèàñ äëÿ êåðíåëüíîãî ëèíåéíîãî àäðåñà? À êîìïèëÿòîð 32-áèòíûé íå ïîäñêàæåøü, êîòîðûé â flat ðåæèìå óìååò ðàáîòàòü ñ ñåëåêòîðàìè? Èëè îïÿòü ïðåäëàãàåòñÿ "ñëîæíàÿ ñèñòåìà âåðåâî÷åê"?

User avatar
/Serg/
Posts: 57
Joined: Thu Sep 01, 2005 22:34
Contact:

Postby /Serg/ » Thu Dec 14, 2006 23:10

Да. Создают в адресном пространстве приложения 32-битный «linear»-адрес, имея физический адрес и «закреплённый» GDT-селектор (не сбрасываемый в файл подкачки). Верёвочки крепко связаны между собой :)

Мне очень жаль, что таких функций нет в KEE. Компилятор, какой тебе нужен, мне неизвестен.

User avatar
LightElf
Posts: 11
Joined: Thu Dec 14, 2006 17:55

Postby LightElf » Fri Dec 15, 2006 09:47

/Serg/ wrote:Äà. Ñîçäàþò â àäðåñíîì ïðîñòðàíñòâå ïðèëîæåíèÿ 32-áèòíûé «linear»-àäðåñ, èìåÿ ôèçè÷åñêèé àäðåñ è «çàêðåïë¸ííûé» GDT-ñåëåêòîð (íå ñáðàñûâàåìûé â ôàéë ïîäêà÷êè). Âåð¸âî÷êè êðåïêî ñâÿçàíû ìåæäó ñîáîé :)
Ìíå î÷åíü æàëü, ÷òî òàêèõ ôóíêöèé íåò â KEE. Êîìïèëÿòîð, êàêîé òåáå íóæåí, ìíå íåèçâåñòåí.


PhysToGDTSel ïî îïðåäåëåíèþ íå ìîæåò ñîçäàâàòü ëèíåéíûé àäðåñ, îí ìîæåò ëèùü ñîçäàâàòü 48-áèòíûé "äëèííûé" óêàçàòåëü. Ïðîêó îò íåãî ðîâíûì ñ÷åòîì íèêàêîãî (â òîì ñìûñëå, ÷òî íè îäíîé ïðîáëåìû îí íå ðåøàåò). Íå ãîâîðÿ óæå î òîì, ÷òî ýòîìó äåâõåëïó íóæíî íà âõîä äàòü ñïëîøíîé êóñîê ëî÷åíîé ïàìÿòè.

User avatar
LightElf
Posts: 11
Joined: Thu Dec 14, 2006 17:55

Postby LightElf » Fri Dec 15, 2006 18:19

valerius wrote:À êàê äîáàâèòü ôóíêöèè â KEE? Ó íàñ (èëè ó âàñ -- eCo Software) åñòü èñõîäíèêè ÿäðà è IBM ïîçâîëÿåò èõ ìîäèôèöèðîâàòü?


Äëÿ ýòîãî íå îáÿçàòåëüíû èñõîäíèêè. Ìîæíî çàïàò÷èòü êåðíåëüíûå òàáëèöû (ïî êîòîðûì îí èùåò DLL è èõ òî÷êè âõîäà) â ïàìÿòè. Òî åñòü ñäåëàòü BASEDEV, êîòîðûé òàêèå ôóíêöèè ïðåäîñòàâèò è ïðîïàò÷èò êåðíåëü íà ïðåäìåò íîâûõ òî÷åê âõîäà â KEE. ïîñêîëüêó ÿäåð ó íàñ íîâûõ íå ïðåäâèäèòñÿ, îñîáåííîé ïðîáëåìû ÿ íå âèæó.

User avatar
Igor Vaskov
Posts: 84
Joined: Thu Jul 07, 2005 13:28
Location: Москва
Contact:

Postby Igor Vaskov » Fri Dec 15, 2006 21:06

dixie wrote:
Igor Vaskov wrote:Можно ерничать бесконечно, а по сути вопроса никто не ответил. А жаль.

А что можно ответить по сути? ;)
Где-то есть ворованные исходники мерлина - только ядро. Кто-то даже приводил их в собирабельный вид и добавлял часть функций KEE. Если будут деньги - наверно найдутся и эти люди (сразу говорю, что это не я и я их не знаю). Но это путь только на какое-то время.
А идти, имхо, надо от ReactOS - и, может, даже, не в паре с ними - но потому же принципу - от поддержки низкоуровневого NT kernel API. Для видеодрайверов, как минимум. Поскольку с драйверами и есть основная проблема.
На написание PM можно позвать меня :) А вообще, работа, конечно, недецкая - вот народ и прячется ;)

Ворованные исходники не так интересны ;) Хотя и были бы полезны для разработчиков. Интересно приобретение исходников (если это возможно - скажите цену), либо совместное использование. Задача состоит в том, чтобы сделать реальный современный продукт. Жаль, что исходников ядра нет. Windows и Linux подобные ядра не интересны прежде всего мне, а поскольку я этим проектом возможно займусь, то, если что-то случится, - это будет какое-то из микроядер с последующей обвязкой OS/2 API и, не исключено, какие-то другие подсистемы.
Если удасться пробить проект, то с персоналом я проблем не вижу. Системщики хорошие в стране есть, а на какой платформе работать для системщика не так и важно.
Тут большая проблема со стратегическими инвесторами, но может быть мне удастся уговорить кого-то заняться рискованными инвестициями в IT сферу.

User avatar
/Serg/
Posts: 57
Joined: Thu Sep 01, 2005 22:34
Contact:

Postby /Serg/ » Sat Dec 16, 2006 21:26

ЛайтЭльф, PhysToGDTSel может всё. Скачай FAQ по драйверам и прочитай «QA__0071.HTM».

Если вызвать эту функцию дважды (для одного и того же адреса, но с разными параметрами), она преобразует физический адрес в так называемый «селектор», то есть запись в таблице проеобразования адресов GDT. Селектор существует постоянно (доступ к нему — где-то в недрах OS2Krnl), и с его помощью в любое время физический адрес может быть пересчитан во всё, что угодно.

Имея селектор, можешь вызвать «PhysToVirt» и получить из физического адреса виртуальный адрес для драйвера, можешь вызвать «VirtToPhys» и получить из виртуального адреса тот же физический адрес для обработчика прерываний, и наконец, можешь вызвать «VirtToLin» и получить из виртуального адреса линейный адрес для любого внешнего приложения, которое захотело передать тебе какие-то данные.

Что же до большого куска сплошной несвопируемой памяти, то видео работает таким образом года с семьдесят четвёртого, со времён Xerox Star. И памяти нынче в компах много.

«По-моему, так!» (из какого-то мультфильма)

ЗЫ. Игорь, ты второй раз пишешь: «может быть мне удастся». Все стратегические инфесторы давно ушли на ММВБ 8)
Last edited by /Serg/ on Fri Dec 22, 2006 08:58, edited 2 times in total.

Âëàäèìèð Ñòðåëüíèêîâ
Posts: 26
Joined: Thu Jul 28, 2005 09:12
Location: Воронеж

Postby Âëàäèìèð Ñòðåëüíèêîâ » Sun Dec 17, 2006 12:16

пожелание wrote:а объединить ядра в просто ядро (не смп/uni/ws)...
ведь различие в планировщике.
в лине как я с удивлением узнал (случайно обнаружил в 6 шапке - гдето с 2.6.??) что ядро само автоматически или принудительно может переключаться в какой-либо режим.

все же проще.
И чем же религия запрещает Игорю Васкову работать с другими ядрами?
если ядро есть и оно в начале оъявлялось как микроядро и оверлей для перетрансляции написать в данном случае не сильно трудно чем на недокументированную, и не тратить силы на написание еще одного ядра, работая на энтропию, а работать в сообществе где уже маломальчески сделано. это про реактос (m$ объявляло ядро системы микроядром).
то-что получилось монолит с модулями (линукс ядра такой-же) - ничего плохого в этом нет.


Return to “Kernel”

Who is online

Users browsing this forum: No registered users and 1 guest

cron