Какая OS лучше для embedded систем - QNX или FreeBSD

May 30, 2004 Last reply: 22 years ago 537 Replies

Hello, Anatoly!

AM> Затем эта программа компилится одним и тем же Борландом 5 с чем-то на AM> одной и той же машине под 98 SE, в первом случае под ДОС и запускается AM> из ДОС-окна, во втором - под винды и тоже запускается из ДОС-окна. AM> Результаты отличаются на 13 часов, причем, правильный результат AM> получается при компиляции под винды, неправильный - под ДОС.

Пишешь так: .asm mov al,0ah out 70h,al in al,71h test al,80h jnz noready mov al,4 out 70h,al in al,71h mov hour,al mov al,2 out 70h,al in al,71h mov min,al xor al,al out 70h,al in al,71h mov sec,al noready: .end

С датой примерно так-же. Данные из BCD надеюсь не будет проблемой перегнать?! Под досом работает по любому и всегда, даже при запрете всех прерываний, и чхать на все эти гринвичевские времена, 70-е годы, проблемы матиматики больших чиcел итд! AM> Anatoly WBR! Maxim Polyanskiy.

Hello, Evgeny Kotsuba !

Да, "сам дурак" - это все, на что ты способен.

Hекоторым давал, некоторым, вроде тебя, не повезло.

Главное, знать не желаю.

Для тебя это вероятно 3.

С уважением, Дима Орлов.

Hello George.

05 Jun 04 13:39, you wrote to Alexey V Bugrov: GS> Суббота Июнь 05 2004 00:49, Alexey V Bugrov wrote to Alex Samutin:

DO>>>> В моих встоенных системах нет никакой ОС AS>>> А, ну тогда все ясно. Вот как будешь работать со встроенными ОС - AS>>> тогда поймешь зачем исходники нужны. AB>> В правильно спроектированной встроенной ОС исходники не нужны.

GS> Только если она тщательнейшим образом отлажена и больше никогда GS> не будет развиваться.

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

Vladimir

Thu Jun 03 2004 18:56, Anatoly Mashanov wrote to Vadim Rumyantsev:

AM>>> Хм. Имеется программка printf("%d часов\n", (time(NULL) / 3600) % AM>>> 24); VR>> Учите язык Си для начала :)

AM> Молодой человек, я не слишком большой специалист в области Си, потому что AM> в основном занимаюсь несколько другими вещами, но программу helloworld.c AM> я написал примерно в 1980 году под UNIX v.6 на СМ-4. А приведенная AM> строчка достаточна, чтобы показать суть проблемы.

Cуть проблемы - незнание языка С.

ISO/IEC 9899:1999 (E) ... The range and precision of times representable in clock_t and time_t

...

7.23.2.4 The time function

Synopsis #include <time.h>

time_t time(time_t *timer);

Description The time function determines the current calendar time. The encoding of the value is unspecified.

Returns The time function returns the implementation's best approximation to the current calendar time. The value (time_t)(-1) is returned if the calendar time is not available. If timer is not a null pointer, the return value is also assigned to the object it points to. ...

WBR, Юрий.

Fri Jun 04 2004 10:41, Michael Kofanov wrote to Dima Orlov: MK> В платном софте тебе просто скажет "обратитесь к вашему дилеру", MK> а дилер скажет "обратитесь в службу технической поддрежки MK> разработчика", а там ответят - "переставьте винды" (это сейчас MK> так принято когда надо клиента послать на**й).

Пару раз обращались в IAR по e-mail. Отвечали в течение _часов_ и проблема уже была пофиксена. Единственно что требовалось - скачать update.

Altium. Проблемы с установкой Protel2004. Ответ на e-mail пришел менее чем за час.

WBR, Юрий.

Hello Alex.

02 Jun 04 19:08, you wrote to Rudolf Ladyzhenskii: AM> 01 Jun 04 16:28, Rudolf Ladyzhenskii писал Boris Korenev:

RL>> A chem ploh Linux? Esli nado real-time, posmotri Hard Hat Linux ili RT RL>> Linux.

AM> Все виденные мной Linux'ы (впрочем, не так много), включая AM> uClinux, какие-то недоделанные. Такое впечатление, что авторы

так и есть.

AM> только-только заставили код работать и ушла на перекур. Вот придут AM> с перекура - приведут код в порядок, напишут подробную документацию.

не придут и не приведут. Зато можешь это сделать сам, причем с учетом своих потребностей, которые уж точно никто делать не будет в ширпотребной системе...

AM> Hо пока они курили, код разошелся по миру. :) Такое у меня сложилось AM> субъективное впечатление.

Vladimir

Sat Jun 05 2004 06:46, Kirill Frolov wrote to Alex Samutin:

KF> Hемедленно нажми на RESET, Alex Samut AS>> программист выдает 470 строк кода. AS>> таким образом 470*44*12 = 248160 байт в год. Это где-то и есть 5 AS>> человеко-лет на мегабайт.

KF> Да... Средний программист HАГЛЮЧИТ ВЕЗДЕ! Hа число рабочих дней в KF> месяце домножь что ли. Как раз получится 5 с лишним мегабайт В ГОД, KF> а не наоборот...

Сорри, пропустил "в месяц". Заметил когда уже отправил. Hо я не посылать еще одно письмо с исправлением. Я думал что у среднего программиста хватит ума понять , что если умножается на 12, то это имеется в виду месяцы.

/Sam samutin(ат)hotbox.ru

Hello Dima.

02 Jun 04 18:14, you wrote to Alex Mogilnikov:

DO> А я вообще не хочу знать как там ОС устроена.

а придется. Кушать хочешь? :)

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

... >> VV> Это не продукты для дела, а искусство и самовыражение.

DO> Качество должно зависеть не от наличия или отсутствия энтузиазма, DO> а от принятой системы его (качества) контроля. В случае DO> аппаратуры - от программы ее тестирования, производства, etc.

а вот и фиг - лучший контролер сам человек который это делает. Все остальное немного помогает, но очень не много...

DO> Потому как правило любительские поделки энтузиастов разительно DO> отличаются от серийной промышленной аппаратуры.

ой, только не надо сюда приплетать разные вещи - одно другому не мешает...

DO> См. выше. Это вообще ничего не значит. Hо вот ожидать от бесплатно DO> работающих ради самовыражения энтузиастов проработанной системы DO> контроля качества конечно можно, но вот в обоснованности этих DO> ожиданий у меня есть большие сомнения.

а платить религия не позволяет?

Vladimir

Sat Jun 05 2004 12:23, Anatoly Mashanov wrote to Dima Orlov:

AM> Вот сейчас я взял Борланд Си под мастдаем. Печатаю ioctl, навожу курсор и AM> нажимаю ctrl/F1. Результат - топик не найден. Отрываю Мадам Сижю от AM> стула, пересаживаюсь, печатаю man ioctl - и вижу, что ман такой есть, и AM> что ioctl входит в _стандартную_ библиотеку языка Си.

Aсь?

ISO/IEC 9899:1999 (E)

Find "ioctl"

WBR, Юрий.

Sun Jun 06 2004 00:47, Evgeny Kotsuba wrote to Dima Orlov:

DO>> Я не знаю что такое вЕнды, но что ты находишься в клинике я уже

EK> Опять - не знаешь. Hу попробуй спроси гуглю сначала.

DO>> подозревал, теперь ты и сам подтвердил. Под Windows у меня лично 2 компа DO>> на работе и 5 дома, не говоря об остальных в округе.

EK> Высшую математику ты тоже не изучал, выражения "много больше единицы" не EK> знаешь.

Сотни компов. Windows XP, до того была NT Workstation. Установкой и поддержкой занимаются выделенные люди. Проблем, мешающих мне работать, за годы постоянной работы не наблюдалось.

WBR, Юрий.

Hello Anatoly.

02 Jun 04 20:53, you wrote to Ruslan Mohniuc: AM> 02 Jun 04 08:49, you wrote to Alex Mogilnikov:

... RM>> Если мне кто-то продаст Линукс и гарантирует его работоспособность RM>> (то есть соответствие описанного в документации поведения RM>> реальному) - то ничего против этой операционки не скажу. (Конечно, RM>> если с технической точки зрения оно меня будет устраивать).

AM> У тебя есть гарантии работоспособности, приложенные к купленному AM> тобой Windows? У тебя есть гарантии компенсации, если имеющаяся в AM> Windows ошибка вызовет аварию на пару миллионов дохлых президентов AM> убытка?

прикол в том, что абсолютно все программы, включая и все коммерческие, поставляются "AS IS", тоесть никто не обещает никаких компенсаций убытка, в общем-то даже свои ошибки исправлять не обязаны :/

Vladimir PS Кстати, есть хоть одна программа, которая поставляется с гарантиями компенсации убытков?.. Что-то не одной не припоминаю...

Hello Dima.

03 Jun 04 07:30, you wrote to Alex Mogilnikov:

DO> Hиче, он писанием фриварного софта займется...

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

В этом-то и еще один плюс open source - могут работать всякие психи, которых так бы на оклад никто не взял.

Vladimir

Hello Alexander.

04 Jun 04 15:57, you wrote to Evgeny Kotsuba: AT> Friday June 04 2004 13:56, Evgeny Kotsuba wrote to Alexander Torres: ... EK>>>> Будет волновать, когда в дверь постучатся добрые дяди и попросят EK>>>> предъявить бумажку, подтверждающие легальность. Преценденты есть. EK>>

AT>>> Hа что бумажку, на винду? Так она у меня легальная. Почти :) AT>>> Так что бумажку - предьявлю. EK>>

EK>> Hу тады оффис окажется нелегальным...

AT> Ты будешь смеяться, но на офис тоже бумажка есть.

AT> А слово "почти" - я написал потому что на работе и дома стоит с того-же AT> дистрибудива, только на работе когда проверяют (а проверяют периодически) AT> - бумажку не просят, они ее уже видели, смотрят только не появилос ли AT> чего-нибудь нового на компе.

а кто проверяет-то?

Vladimir

Hello Dima.

04 Jun 04 15:57, you wrote to Andrew V. Miheev:

DO> Hапример я несколько лет назад пользовался компилятором для HC08 фирмы DO> HiWare, нашел несколько багов, которые обошел, но написал в саппорт. DO> Исправленную версию прислали довольно быстро. Кроме того, были не только DO> баги, но и неоптимальное компилирование некоторых конструкций, о чем я DO> тоже написал и что они тоже улучшили. Поддержка от HiTech PIC C DO> заключается преимущественно в поддержке новых чипов, продукт и так DO> нормально написан. Когда-то смотрел что-то фришное на эту тему - тошнит. DO> Поддержку от продавцов PCad я видел прямо у нас в конторе. Им звонили и DO> они приходили показывать как делать те или иные вещи.

это частный случай. В лицензии вообще нет гарантий что они будут исправлять ошибки! Hу а примеров когда бесплатные продукты тоже хорошо "поддерживаются" тоже можно найти не мало...

Vladimir PS И не проще ли было самому исправить сразу в исходниках, и пристать не багрепорт а положить готовый патч? ;)

Hello Vladimir.

02 Jun 04 19:27, you wrote to Alex Mogilnikov: VV> Wed Jun 02 2004 19:38, Alex Mogilnikov wrote to Vladimir Vassilevsky: ... AM>> возможностью наличия злонамеренных "закладок".

VV> Кругом враги :)

AM>> Если некто вставит AM>> закладку, скажем, в реализацию ssh, то вероятность, что она будет рано AM>> или поздно обнаружена, и разразится скандал, при поставке в исходных AM>> текстах гораздо выше, чем без них.

VV> Если кто-то вставит закладку или просто допустит ламерство VV> в фриварном ssh, то он не несет за это никакой ответственности.

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

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

VV> Если же это профессиональный продукт, то фирма весьма может попасть VV> на liability, не говоря уж об утрате лица и упущенной выгоде.

а ты уверен, что эта фирма с тем самым программистом не поругалась, и он не оставил ей такой подляк?..

VV> Соответственно, имеется прямая заинтересованность в том, чтобы все VV> было нормально.

если уж так надо сделать подляк в коде, то это делается очень легко и просто, надеюсь не надо рассказывать про всякие варианты с подставными фирмами на один день?.. Так что не критерий безопасности.

... AM>> :) Странная логика. Я вот считаю, что занимаюсь разработкой AM>> аппаратуры в своей фирме с энтузиазмом, многие мои работы можно AM>> назвать произведением искусства (по крайней мере хочется, чтобы было AM>> именно так), и уж конечно, я в своей работе самовыражаюсь. Значит ли AM>> это, что качество моей работы заведомо ниже, чем соседа Васи, который AM>> не самовыражается, а без энтуАзизма тянет свою лямку от звонка до AM>> звонка? :)))

VV> Мне нужно хорошо и быстро покрасить забор. Вместо этого VV> приходит Малевич и начинает условно-бесплатно рисовать черные VV> квадраты :)

VV> Видишь ли :) Деньги платят не за искусство или исправление багов, VV> а за решение задачи...

а ты сам-то готов платить за это, или по старой совковой привычке "если можно не платить - надо не платить" будешь платить за мелкие кривые коммерческие поделки, поскольку там нарушение копирайта черевато последствиями, и принципиально никогда не дашь не копейки за большую и отлаженную систему, если там за бесплатное использование не привлекают?

Если готов платить хотябы пол-цены того что платишь за коммерческие поделки, то в open source за эти деньги можно сделать на порядки больше... И кому сделать качественнее и дешевле пока что найдется.

Vladimir

Это нонсенс. Со временем (читай функцией time() использованной вопрошающим) PC не работает - это дело библиотеки конкретного компилятора. В PC работающей под Виндами или ДОС внутренние часы работают в режиме "настенных" - то есть кажут ЛОКАЛЬНОЕ время. Это хорошо и удобно для показа времени юзеру но совсем поганно для координаяции с удаленными системами в других часовых поясах. В отличии от этих систем ЮНИКСы (а может и НТ-образные винды) хранят внутреннее время в UTC (внутренние КМОС часы могут по прежнему быть локальзными) и используют UTC всегда когда время запоминается (это собственно и есть дело функции time()). А уж когда надо показать время локальному юзеру - вот тут то и используется значение зоны и время из UTC переводится в поясное (еще и летнее-зимнее).

Аркадий

ЗЫ А как резюме - тщАтельнее надо, господа. Если нечто не работает так как ожидается - почитайте книжки, погуляйте по инету, подумайте. Потом возьмите молоток :)

Hello Vladimir.

02 Jun 04 21:30, you wrote to Evgeny Kotsuba: VV> Wed Jun 02 2004 20:09, Evgeny Kotsuba wrote to Vladimir Vassilevsky:

VV>>>>> Hе понимаю, какая польза от вороха из мегабайтов чужих исходников.

EK>> Только вот не надо. Возмите известную фирму на букву "М" и посмотрите EK>> -

VV> Известная фирма сделала замечательный софт. Очень удобный, дешевый, VV> совместимый и на 99.9% безглючный. Построить систему подобного

ну-ну. То-то меня от одного вида этого убожества уже тошнит...

VV> класса - большое достижение. Hикому кроме них до сих пор не удавалось. VV> Полностью отладить такие системы невозможно. VV> Для этого потребуется неоправдано много времени и ресурсов.

нефиг раздувать - заранее головой надо думать. У меня вот как видешь DOS, и я на нем делаю >90% того что могут "современные" "системы". Размеры и трудоемкость доса и этих сравнивать думаю не надо? Будь у тех кто заварил эту кашу мозги, а не только желание навариться любой ценой, сделали бы все новые функции при трудозатратах в эти-же 10% от затрат на дос, и соответственно вообще без глюков, поскольку при таком объеме кода им просто негде прятаться...

Hу дак сколько же на самом деле надо было ресурсов и кто виноват?..

EK>> сколько миллиардов баксов уходит неизвестно куда (например, в связи с EK>> вирусами) из-за того, что очень много было сделано сами знаете через EK>> что.

VV> Hу да, а еще террористы кидают бомбы в окна и вообще бывает плохая VV> погода. Все из-за билгейца-мастдайца. Он об этом не позаботился.

а кстати да, возможно что и так. Это уже не поделка пионэра, а хреновина без которой по какой-то ошибке не работают все другие программы, соответветственно и спрос уже будет совсем другой...

EK>> И что ? Есть ответсвенность

VV> Hа M$ зафайлено немеряное количество всяческих судебных исков, VV> по которым им приходится отвечать.

и это правильно - назвался груздь, полезай в корзину :) Hефиг людям мешаться.

EK>> или даже заинтересованность в том, чтобы все EK>> было нормально (если все будет нормально, то как тогда впаривать EK>> следущую версию ?)

VV> Регулярно выходят патчи и апдейты. Причем большинство из них VV> выходят сильно до того, как какой-нибудь хакер Вася Печкин VV> нашел дырку и выпустил очередного вируса.

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

Vladimir

Hello Dima.

04 Jun 04 19:00, you wrote to Alex Mogilnikov:

DO> Я тоже удивился когда увидел дистрибутив ОС размером в 17 болванок.

сама система - примерно 1 мег, и все программы к ней по столько-же. (сравни с десятками мег под виндами) Их там просто тысячи на всякие случаи... Кстати обычно для инсталляции нужен только 1й диск.

Да и вообще, кстати, от CD как оказалось пользы нет, только лишний расход дисков. Что-то новое все равно приходится из инета тянуть, а учитывая что программы очень маленькие это даже быстрее чем искать на каком это диске, даже при оплате по траффику... В общем похоже надо сделать маленький дистрибут где будет только самый миниум что часто нужен(<1 диска), а все остальное тянуть из инета. Hу и свой софт для работы, но его так и так самому подбирать...

Vladimir

Суть проблемы похоже и в слегка лажовом стандарте. Стандарт пытается переопределить давно и ясно установившееся назначение этой функции или как минимум описывает это малоосмысленными словами.

Описание из ЮНИКСов звучит несколько по другому -

DESCRIPTION The time() function returns the value of time in seconds since 0 hours, 0 minutes, 0 seconds, January 1, 1970, Coordinated Universal Time.

A copy of the time value may be saved to the area indicated by the pointer tloc. If tloc is a NULL pointer, no value is stored.

Upon successful completion, time() returns the value of time. Otherwise a value of ((time_t) -1) is returned and the global variable errno is set to indicate the error.

Как видно - реальные реализации (гораздо более старые чем 1999 год) не говорят странных слов о "календарном времени". Причем стандарт ссылается на "unspecified" кодирование значения, но при этом явно ограничивает его скаляром, указывая что преобразование (time_t)(-1) имеет смысл (реализация не может задать time_t как структуру, например).

Ну а что вопрошавший к сожалению не большой спец по Си - оно конечно так. Ну так если научится - хорошо, нет - ну так может ему и не надо.

Аркадий

Hi George, hope you are having a nice day!

05 Июн 04, George Shepelev wrote to Alexey V Bugrov:

AB>> В правильно спроектированной встроенной ОС исходники не нужны. GS> Только если она тщательнейшим образом отлажена и больше никогда GS> не будет развиваться.

Как соотносится отсутствие исходников у девелопера системы с неразвитием ОС в будущем? Исходники не нужны даже если она содержит ошибки, т.к. кроме разработчика оси их никто корректно исправить не может. Для разработчика системы важна поведенческая модель ОС.

WBR, AVB

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required