Страница 5 из 11

СообщениеДобавлено: 15.01.2008 20:31:43
alexs
Святослав
О у нас на форуме повяился... как бы термин помягче подобрать.

Если нет конструктивных вопросов и предложений - зачем вобще на клавиши давить? и других людей отвлекать?

СообщениеДобавлено: 16.01.2008 01:54:57
Padre_Mortius
Святослав писал(а):Это сакс.....


Может вместо пустого трепа Вы опишете что не понравилось или может быть найдены ошибки

СообщениеДобавлено: 16.01.2008 13:11:50
Attid
не опишет времено забанен.

СообщениеДобавлено: 16.01.2008 13:30:31
ev
стоить заметить, что он временно забанен за нарушение п. 1.2 правил форума (оскорбление и мат)

СообщениеДобавлено: 16.01.2008 15:43:00
Attid
хотя имхо зря =) надо на постоянку =)

Re: ОС на FPC

СообщениеДобавлено: 26.08.2008 21:08:23
Рождённый_в_СССР
Обновилась ОС, конечно не все изменения вошли в финальный пакет, которые хотелись бы и которые заявлены
но полностью пересмотрено много аспектов, за что спасибо вам, в частности людям, писавшим мне на электронную почту письма с советами
единственное что пока недостаточно - это помощи и комментариев (на русском) - но со временем это тоже наладится
прошу прощения за длительный отпуск ) главное пока достижение - это стабильная компиляция под Linux, несмотря на баг где-то внутри fpc, который проявлял себя только при сборке в Linux... поиск этой ошибки занял очень много временных ресурсов, не помогла даже консоль отладки Bochs - пришлось лопатить много ассемблерного кода...

сформулировать четко в чем состоит баг я сейчас не могу - не было времени разбираться, но косвенно могу показать, что fpc (по крайней мере 2.2.0 и младше) некорректно скомпилировал ассемблерную вставку (только под Linux) в файле . Хотя первоначально я пинал на линкер, вроде в виндах и досе я пользуюсь идущим вместе с Паскалем или binutils, а здесь ld.so.1/2 (сишного) разница стилий которых существенна и чувствуется... прописал в нем все что только возможно, включая всякие -CX, -Tbss и прочее... эффекта - ноль... и пришлось дизассемблировать оба образа ОС (досовский и линкусовый) на поиск разногласий... и сравненением с оригиналом. Все совпадало вточности до смещений... см INT_21h.pas - там вконце подробный разбор

Тут надо отметить, что я не нашел достойного дизассемблера на linux впринципе как такового, даже крякнуто-сворованный знаменитый Intel'овский IDA впринципе отказывался работать, все время пиная на неверные настройки какого-то устройства, свзяанного keyboard ) единственное что все таки работало без багов и ктому же позволило не только AT&T но и Intel синтаксис смотреть - это udcli - консольный дизассемблер, который выполнен как пример использования библиотеки udis86, интерфейса никакого, использовать только в усердном поту... так как почему то при флаге -s (откуда нада начинать дизассемблирования) указывается в 10-ричной форме номер байта, и тут же при флаге -o (откуда считать адреса команд) указывается в 16-ричной, что нигде в описания на команду не указано... сменить это невозможно... но чаще всего надо задавать одно и тоже число в разных формах))) приходится пользоваться научными калькуляторами для переводов... но спасибо хоть за такую демонстацию библиотеки ))) лучше ничего ненашлось...

Re: ОС на FPC

СообщениеДобавлено: 26.08.2008 21:54:26
bw
IDA в Linux под Wine 1.0 вроде нормально работает. Последний раз занимался изучением кода dune.exe :-).
Теоретически я могу помочь тебе в Linux, хотя сам недавно перешел на эту платформу и, сейчас, стеснен по времени.

..bw

Re: ОС на FPC

СообщениеДобавлено: 26.08.2008 22:29:16
NXP
Рождённый_в_СССР
Проверь содержимое stimul\source\kernel\services\INT_21h.pas
Внизу прилеплено:
Код: Выделить всё
*********************************************************************************
abit@abit-npkpo:/media/KINGSTON/ps/stimul/stimul/STIMUL 0.1.3> udcli -s 661 -o 661  -c 160 ./kernel/services/INT_21h.ose
0000000000000661 ebf1             jmp 0x654                     PASS
0000000000000663 bb00800b00       mov ebx, 0xb8000         mov ebx,0b8000h      OK
0000000000000668 ebf2             jmp 0x65c                     PASS
...

Re: ОС на FPC

СообщениеДобавлено: 26.08.2008 23:33:02
Рождённый_в_СССР
NXP писал(а):Рождённый_в_СССР
Проверь содержимое stimul\source\kernel\services\INT_21h.pas

я знаю )
Рождённый_в_СССР писал(а):см INT_21h.pas - там вконце подробный разбор

я вставил пока туда
после end. вроде описанием языка паскаль позволено писать всё что душе захочется...
вчастности я не нашел лучшего места скинуть дампы, которые получаются при различных компиляциях одного и того же кода - это поможет вдальнейшем сформулировать проблему неверной интерпертации fpc ассемблерных вставок (хотя может так и задумано, но почему в разных ОС оно понимается по-разному - не понятно) проблему то я исправил, сменив регистры местами - но вот для развития fpc неплохо бы ещё поковырятся в сути что происходит и выложить на этом форуме подробное описание что же произошло и кто виноват... обычно это потом попадает в багтрек и исправляется в след. версии (ну или старается исправиться), если здесь, конечно определенно вина fpc... вину ld и bochs я исключил путем завершающей сборки и выполнения под виндой (вываливалась ровно так же), хотя если начинать снуля - всё прекрасно

bw писал(а):IDA в Linux под Wine 1.0 вроде нормально работает. Последний раз занимался изучением кода dune.exe :-).

хотелось бы ориентироваться на бесплатный софт ) по крайней мере на работе у меня обязательно, чтобы все было либо куплено либо бесплатным - я на оборонном заводе - там бывает, приходят, спрашивают... конечно до полного копания в компе не доходит... но мало ли...
под wine конечно понятно ) но странно, почему в самой программерской из ОС ничего круче отладчиков нету... тем более их функциональность в случае дизассемблирования ограничена очень сильно - не все понимается верно, отсутствует ряд современных инструкций и отсутствие бинарного дизассемблирования тоже пугает... взять самый легкий из win - ollydebug - там все это давно есть - пожалуйста...
а здесь, даже с часовым поиском по инету, 7 выкаченными пакетами включая IDA, написанный под Linux ничего лучше консольной демки для библиотеки не нашлось... что программисты Си не признают дизассемблирования? ) или я где-то не там и как-то не так искал...

bw писал(а):Теоретически я могу помочь тебе в Linux, хотя сам недавно перешел на эту платформу и, сейчас, стеснен по времени.

у всех программистов плохо со временем ) это профессиональное наверное...
я приму любую помощь, начиная от советов, коментариев и заканчивая всякими поделками ) Спасибо за участие, как говорится - потому что у меня руки далеко не до всего доходят, а мыслей полно

Добавлено спустя 1 час 6 минут 16 секунд:
кому интересно, похоже проблема решилась достаточно просто...
сейчас я на свежую голову ещё раз сравнил все три кода... ))) тогда я порядка 30 часов не спал - все мучался с поиском почему она приводит к выходу за пределы памяти ядра... и сделал из проблемы какие-то сложности со входами в процедуру, обнулением регистров, их обменом...

описание выложил в соответствующей теме, чтобы не засорять эту
viewtopic.php?f=1&t=3618

говорят не стоит писать только, то что сделано...
по советам знающих людей выложил в разделе 'разработка' список того что делается/будет делаться )

Re: ОС на FPC

СообщениеДобавлено: 30.10.2008 09:42:12
UfandeevEV
виртуалка типа qemu тоже не плохо. Но это все не то, в век когда бороздят космос наши корабли...
Проблема в многоядерности процессоров. единственную ось которая делалась под такие вещи , это мак-ос (хотя и линуксоподобная, процы - PowerPC), имеется ввиду из распространённых. Даже линуксы полностью не поддерживают весь аспект этого не паханного поля. Я еще не видел реально работающей ОС даже специально скомпилированную под определённый Проц. (типа Генту) которая правильно распаралеливала потоки и управлялась с этим хозяйством на высшем уровне...
Написав хотя бы ядро с такими возможностями это пойдет не только в десктопные приложения но и оборонное промышленное решение.... Аля системы реального времени.
А все остальное это дело наживное...
Отклик ядра будет в этом случае более оптимальный. Ведь в этом случае перегрузка процессора для следующего потока не понадобится (В общих чертах).

Re: ОС на FPC

СообщениеДобавлено: 07.11.2008 19:30:28
Рождённый_в_СССР
UfandeevEV писал(а):Написав хотя бы ядро с такими возможностями это пойдет не только в десктопные приложения но и оборонное промышленное решение.... Аля системы реального времени.
А все остальное это дело наживное...
Отклик ядра будет в этом случае более оптимальный. Ведь в этом случае перегрузка процессора для следующего потока не понадобится (В общих чертах).


Вы как в воду глядели )
Проблема распаралеливания действительно блуждает в моих планах... и главное - решения давно предложены Тенебаумом на уровне ОС, и куча математических выкладок в теории, в частности, я был в восторге от книги - Основы современных алгоритмов. Выглядет так : http://www.regionbook.ru/files/store_ap ... 57_565.jpg
купил на распродаже моего универа по халяве - 47р. Советую всем теоретикам по оптимизации и анализа трудоемкости алгоритмов. Правда, как мне кажется есть несоответствия - в частности я не понимаю почему в этой книге описано (и даже доказано!), что задача разложения по рюкзакам не может иметь полимиального решения (если не считать приближений), в то же время в книге 80-х годов Линейное программирование она решена этим линейным программированием на сколько я понимаю за полиноминальное время - раз уж я прогнал её не перебором за вполне разумное время) Меня этот вопрос до сих пор беспокоит... но это я отвлекся...
Как правило сейчас распаралеливание выглядет исключительно софтварно на уровне приложений, как опять же я понимаю... программист сам определяет потоки (или нити) и связывает их между собой через некоторый синхронизирующий буфер данных. В рамках ОС не совсем понятно (вернее нет примеров, известных мне) как обозначить этот буфер, который учавствует в обемене данными между потоками для произвольного приложения. Единственное решение, которое просто и наглядно - реализовать виртуальное устройство. Если этого буфера не будет - смысл распаралеливания на уровне ОС - глупое занятие, так как в большинстве приложений, с задачами, которые пренадлежат классу сложности недетерминированных алгоритмов - будет полный асинхронизм. Потоки будут постоянно ждать друг друга на ответ, событие и прочее...
Однако пусть это красиво, пусть не правильно (то что выше)... но я предпочитаю начать все таки с написания обертки под ядро на Паскале (которое сейчас на ассемблере), чтобы отделить его от привязанности к 32-битным Intel совместимым... довести 64-битный режим и только потом завязаться с многоядерностью/многопроцессорностью. К счастью за это лето парк тестовых машин приподнялся на 2 компа Duo и один Quard... т.е. на чем ставить эксперементы в живую )
Другой вопрос - в реальных системах почему то гуляют платы на P-133Mhz ))) на Core 2 вообще на рынке никаких предложений нет и не предвидется в ближайшем будущем (я имею в виду дешевле 100 тысяч хотя бы), поэтому это имеет смысл делать на своем оборудовании, т.е. покупать обычный домашне-офисный компьютер, что не всех в промышленности устраивает по многим показателям ) в частности пыле, паро и вибро устройчивость...

Re: ОС на FPC

СообщениеДобавлено: 07.11.2008 22:19:34
ev
Другой вопрос - в реальных системах почему то гуляют платы на P-133Mhz ))) на Core 2 вообще на рынке никаких предложений нет и не предвидется в ближайшем будущем (я имею в виду дешевле 100 тысяч хотя бы), поэтому это имеет смысл делать на своем оборудовании, т.е. покупать обычный домашне-офисный компьютер, что не всех в промышленности устраивает по многим показателям ) в частности пыле, паро и вибро устройчивость...

тут все зависит от задач... все что я встречал с гипер требованиями может делать на не очень крутом оборудовании и переплачивать за много ядер нет смысла (да и отстают предложения как правило)
а там где нужна производительность - уже оборудуют мини-серверные с пониженными требованиями к различным устойчивостям

Re: ОС на FPC

СообщениеДобавлено: 06.05.2009 18:44:30
karpen
К ембедед решениям предъявляют жесткие аппаратные требования, т.к. индустриальный диапазон рабочих температур, защищенность от электромагнитных помех, низкое энергопотребление.
Как пример, на одном заводе очень расстроились когда Интел прекратил выпуск 486 процессоров, потому что они подходили по рабочим температурам, а P133 уже не подходит.

Re: ОС на FPC

СообщениеДобавлено: 14.05.2009 22:58:41
pasm
Привет всем! вот и меня посетила тажа самая мысль собрать операционку на паскале...
но у меня пока просто стоит задача как написать 16 битный бинарник под 1 сегмент кода, с 0 адреса.
в исходниках я нашел fpcbuild-2.2.4\fpcsrc\rtl\i386 подскажите это то что нужно ? но оно 32 бит ???
не судите меня строго я fpc прежде не юзал вот и не знаю с какого бока к нему подойти...
подскажите пожалуйста как этот таргет можно откомпилировать, и сделать видимым для FP?

Re: ОС на FPC

СообщениеДобавлено: 15.05.2009 00:49:15
Mr.Smart
На fpc неполучится откомпилировать в 16 разрядном режиме.