QNX.ORG.RU

Общее => Общение => Тема начата: Anonymous от Июня 20, 2003, 08:50:00 pm



Название: Объясните ламеру, что такое ОС реального времени ?
Отправлено: Anonymous от Июня 20, 2003, 08:50:00 pm
Собственно сабж...


Название: Объясните ламеру, что такое ОС реального времени ?
Отправлено: olej от Июня 20, 2003, 08:56:00 pm

Anonymous пишет:
Собственно сабж...


Когда-то dmi брался об том статью написать ... хороший был черновик .
Можно почитать кое-что здесь: www.swd.ru
Можно здесь: www.nautsilus.ru/sys/winnt.htm (там, собственно, о том "что не является realtime" - но методом исключения понятно).

В 2-х словах: что если "быстро, круто, cool ..." - то это как-раз не то .


Название: Объясните ламеру, что такое ОС реального времени ?
Отправлено: dmi от Июня 20, 2003, 11:07:00 pm

Olej пишет:

Anonymous пишет:
Собственно сабж...


Когда-то dmi брался об том статью написать ... хороший был черновик .

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


В 2-х словах: что если "быстро, круто, cool ..." - то это как-раз не то .

Agreed.

Общий смысл теории ОСРВ сводится к недавно услышанной фразе на /. :
"...when a nuclear reactor is about to blow, every nano-second counts". И это есть "very true"(c).


Название: Объясните ламеру, что такое ОС реального времени ?
Отправлено: klalafuda от Июня 20, 2003, 11:11:00 pm

dmi пишет:

Olej пишет:

Anonymous пишет:
Собственно сабж...


Когда-то dmi брался об том статью написать ... хороший был черновик .

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


В 2-х словах: что если "быстро, круто, cool ..." - то это как-раз не то .

Agreed.

Общий смысл теории ОСРВ сводится к недавно услышанной фразе на /. :
"...when a nuclear reactor is about to blow, every nano-second counts". И это есть "very true"(c).


точно. lestat подтвердит

// wbr


Название: Объясните ламеру, что такое ОС реального времени ?
Отправлено: Evgeniy от Июня 20, 2003, 11:28:00 pm
2 dmi
Дима! А нельзя ли в приватном порядке почитать этот черновик - помнится во времена зарождения форума (был тогда раздел "Теория ОСРВ") мы пытались обсуждать этот вопрос...

Клятвенно обещаю не пользоваться продуктами "второй свежести"


Название: Объясните ламеру, что такое ОС реального времени ?
Отправлено: dmi от Июня 20, 2003, 11:50:00 pm

Evgeniy пишет:
2 dmi
Дима! А нельзя ли в приватном порядке почитать этот черновик - помнится во времена зарождения форума (был тогда раздел "Теория ОСРВ") мы пытались обсуждать этот вопрос...

Клятвенно обещаю не пользоваться продуктами "второй свежести"


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

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

Это всё будет не раньше июля месяца, т.к. сейчас сдаю экзамены и ищу работу.


[ Это Сообщение было отредактировано: dmi в 2003-06-20 21:49 ]


Название: Объясните ламеру, что такое ОС реального времени ?
Отправлено: dmi от Июня 21, 2003, 04:53:00 am
ОСРВ, в теории,- это ОС, которая “привязывает” процесс выполнения своих задач к сетке (реального/живого)времени и обеспечивает наихудшее время задержки не более декларированного. Т.е. остаётся предсказуемой по времени реакции даже при очень высоких нагрузках.
Т.е. ОСРВ – это ОС, которая всё делает вовремя

На практике же всё намного сложнее, т.к. оказывается, что ОСРВ основаны на тех же механизмах, что и обычные системы, просто по более жёстким правилам. Привязка к реальному времени является лишь следствием хорошо продуманной и чертовски хорошо реализованной архитектуры.

Реальных же методов расчёта компьютерных систем работающих в реальном масштабе времени не существует. По крайней мере – известных мне.

--

На самом деле, вопрос всем: постановка задачи ОСРВ и диспетчера задач ОСРВ. Как они звучат?

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


Название: Объясните ламеру, что такое ОС реального времени ?
Отправлено: Evgeniy от Июня 21, 2003, 06:58:00 am

dmi пишет:
ОСРВ, в теории,- это ОС, которая “привязывает” процесс выполнения своих задач к сетке (реального/живого)времени и обеспечивает наихудшее время задержки не более декларированного. Т.е. остаётся предсказуемой по времени реакции даже при очень высоких нагрузках.
Т.е. ОСРВ – это ОС, которая всё делает вовремя

Чертовски интересное определение - без смеха. Из него вытекает, что (если исключить возможные зависания в результате ошибок программирования) для выбранной ОС найдется всегда некоторый объект, для которого систему управления реального времени можно построить на основе выбранной ОС - для одних ОС это будут ускорители шатла, а для других - управление документооборотом.

Я, кажется, уже писал (в том давнем форуме), что на самом деле, говоря о реальном времени, надр говорить не столько о собственно ОС, сколько о системе управления вцелом - в том числе с учетом конкретного оборудования, на котором система работает.


На практике же всё намного сложнее, т.к. оказывается, что ОСРВ основаны на тех же механизмах, что и обычные системы, просто по более жёстким правилам. Привязка к реальному времени является лишь следствием хорошо продуманной и чертовски хорошо реализованной архитектуры.

Совершенно с вами согласен. Только я бы сказал, что не по более жестким правилам, а со многими упрощениями - такими как фиксированные уровни приоритетов процессов или упрощенное управление памятью.

Традиционно, т.к. системы РВ применялись для управления технологическим оборудование с использованием ограниченных вычислительных ресурсов, ОС РВ строятся, как правило, более модульно - чтобы обеспечивать,
во-первых, существенно более гибкое конфигурирование в смысле исключения компонент, ненужных в конкретной системе управления, и,
во-вторых, легкость дополненя новыми модулями, обеспечивающими поддержку специфических для системы функций - в частности специального оборудования.
Как побочный эффект в ОС РВ существенно полнее документируют (для пользователя) внутреннюю "кухню" ОС, чем в ОС общего назначения.

Собственно, именно этот стиль "конструктора" и является, как мне кажется, принципиальной отличительной чертой ОС РВ. Сразу оговорюсь, что это не имеет абсолютно ничего общего с "open source"


Реальных же методов расчёта компьютерных систем работающих в реальном масштабе времени не существует. По крайней мере – известных мне.

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


На самом деле, вопрос всем: постановка задачи ОСРВ и диспетчера задач ОСРВ. Как они звучат?

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

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

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


Название: Объясните ламеру, что такое ОС реального времени ?
Отправлено: dmi от Июня 21, 2003, 08:40:00 pm

Evgeniy пишет:
Я, кажется, уже писал (в том давнем форуме), что на самом деле, говоря о реальном времени, надр говорить не столько о собственно ОС, сколько о системе управления вцелом - в том числе с учетом конкретного оборудования, на котором система работает.


Безусловно. Система реального времени есть аппаратная платформа + ОС РВ, которая управляет этой платформой.
Честно говоря, я не очень согласен с самим переводом слова realtime. Для меня слова “реальное время” не звучат как одно целое, потому как время – суть абстракция. К тому же тогда придётся отнести все системы общего назначения к системам “нереального” времени, что будет уже абсолютным заблуждением. Все они способны соответствовать требованиям на ОСРВ в каких-то (может быть достаточно узких) рамках. Большая часть из них реализует части POSIX 1003.1, который, напомню, говорит: “Реальное время  в операционных системах – это способность операционной системы обеспечить требуемый уровень сервиса в заданный промежуток времени”.
Мой текстовый редактор, работающий в ОС Linux, вполне отвечает моим требованиями на время реакции на мои действия
Мне кажется, что realtime скорее можно перевести как “ОС постоянной  доступности”, или, может быть, готовности.
Evgeniy: как вообще перевести слово “realtime” в отрыве от данного контекста? И как (варианты) может звучать перевод? “ОС полной занятости”?

Для меня понятие ОСРВ (а, точнее, СРВ) включает:
надёжность (система достаточно надёжна, чтобы постоянно выполнять возложенные задачи, либо(??) обладает достаточным запасом резервирования и/или способностью к самовосстановлению (регенерации));
масштабируемость (или встраиваемость, т.е. компактность исполнения);
возможность работы со специфичным оборудованием (опять же – встраиваемость);
предсказуемость временных параметров даже в самых “дальних” ветвях дерева рисков;


Совершенно с вами согласен. Только я бы сказал, что не по более жестким правилам, а со многими упрощениями - такими как фиксированные уровни приоритетов процессов или упрощенное управление памятью.


Просто упрощения не приведут к предсказуемости системы. Ввод в ОС РВ фиксированных приоритетов (точнее, я бы сказал, статических, потому как фиксированные – это RMS!) - вполне сознательное требование, чтобы разработчик изначально распределил “веса” задач системы. Потому как только Разработчик СРВ может предвидеть последствия сбоя (т.е. пропуска своей “очереди”), система же понятия не имеет, сколько раз можно есть эти грибы.
Это уменьшение степени нечёткости системы, сл-но ужесточение правил управления ею. К тому же, я думаю, такие “упрощения” очень недёшево обходятся разработчикам ОСРВ.


Традиционно, т.к. системы РВ применялись для управления технологическим оборудование с использованием ограниченных вычислительных ресурсов, ОС РВ строятся, как правило, более модульно - чтобы обеспечивать,
во-первых, существенно более гибкое конфигурирование в смысле исключения компонент, ненужных в конкретной системе управления, и,
во-вторых, легкость дополненя новыми модулями, обеспечивающими поддержку специфических для системы функций - в частности специального оборудования.

Т.е. встраиваемость и масштабируемость. Это уже требования больше к встраиваемой (embedded) ОС. Хотя, безусловно, любая настоящая ОС РВ должна быть embedded. Пора строить дерево классификации ОС?


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

Тут слово “пользователь” следует использовать очень осторожно. У встраиваемых ОС РВ не бывает пользователей, в лучшем случае – операторы.
Есть разработчики, для них и документация. Опять же, дело не только в документации, а скорее, в возможности восприятия разработчиком общей идеи ОС, т.е. максимальной прозрачности механизмов ОС.


Собственно, именно этот стиль "конструктора" и является, как мне кажется, принципиальной отличительной чертой ОС РВ.

Одной из. Самой важной чертой является ответственность разработчиков ОСРВ за свою систему.


Сразу оговорюсь, что это не имеет абсолютно ничего общего с "open source"

М/у прочим, open source RTOS – очень интересная тема для обсуждения!
Не является ли уход в open source фактическим заявлением о прекращении существования ОСРВ как продукта?


Вы не одиноки во вселенной

Так я и знал


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


Ну есть же какие-то потуги в области разработки “deadline-driven scheduling” например. Это ведь действительная привязка к шкале живого времени. Вообще интересно было бы посмотреть на мат.аппарат, модель или чёткое описание чего-то такого.

Конечно, я понимаю, что лучшая ОСРВ – это однозадачная ОСРВ , т.е либо полное её отсутствие как вида, либо DOS and friends. Самое смешное, что если система не распределённая – это самый действенный способ устранения неопределённости временных характеристик системы. С другой стороны, установление связей м/у узлами распределённой системы – самое деструктивное действие. Потому как любой коммуникационный протокол может быть лишь условно предсказуем


Название: Объясните ламеру, что такое ОС реального времени ?
Отправлено: olej от Июня 25, 2003, 11:21:00 pm

Evgeniy пишет:
2 dmi
Дима! А нельзя ли в приватном порядке почитать этот черновик - помнится во времена зарождения форума (был тогда раздел "Теория ОСРВ") мы пытались обсуждать этот вопрос...


Кстати, с тех пор прошло ... ох как много времени: многое удалось "пощупать руками", новые материалы попадались. Интересный subj - если кому-то ещё интересно - можно поделиться свежими соображениями. В этой теме ... или заведите какую новую.


Название: Объясните ламеру, что такое ОС реального времени ?
Отправлено: dmi от Июня 26, 2003, 01:00:00 am

Olej пишет:

Evgeniy пишет:
2 dmi
Дима! А нельзя ли в приватном порядке почитать этот черновик - помнится во времена зарождения форума (был тогда раздел "Теория ОСРВ") мы пытались обсуждать этот вопрос...


Кстати, с тех пор прошло ... ох как много времени: многое удалось "пощупать руками", новые материалы попадались. Интересный subj

У меня от этого слова зуб болит. передний.


- если кому-то ещё интересно - можно поделиться свежими соображениями. В этой теме ... или заведите какую новую.

Интересно. А почему бы и не здесь?


Название: Объясните ламеру, что такое ОС реального времени ?
Отправлено: Evgeniy от Июня 26, 2003, 04:20:00 am

dmi пишет:

Evgeniy пишет:
Я, кажется, уже писал (в том давнем форуме), что на самом деле, говоря о реальном времени, надр говорить не столько о собственно ОС, сколько о системе управления вцелом - в том числе с учетом конкретного оборудования, на котором система работает.


Безусловно. Система реального времени есть аппаратная платформа + ОС РВ, которая управляет этой платформой.

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


Честно говоря, я не очень согласен с самим переводом слова realtime. Для меня слова “реальное время” не звучат как одно целое, потому как время – суть абстракция. К тому же тогда придётся отнести все системы общего назначения к системам “нереального” времени, что будет уже абсолютным заблуждением. Все они способны соответствовать требованиям на ОСРВ в каких-то (может быть достаточно узких) рамках. Большая часть из них реализует части POSIX 1003.1, который, напомню, говорит: “Реальное время  в операционных системах – это способность операционной системы обеспечить требуемый уровень сервиса в заданный промежуток времени”.

Давайте не будем углубляться в физику пространства-времени и тем более в философию
Однако на правах старого питона позволю себе один небольшой исторический экскурс.
Вероятно, впервые понятие real-time появилось с появлением первой управляющей цифровой машины - если не ошибаюсь это была какая-то модель HP (первая), известная в Союзе по ее клону М6000. В те времена (прямо как в какой-то сказке ) все цифровые машины были представлены мэйнфреймами с ПАКЕТНЫМ режимом работы. И, собственно, термин real-time использовался для противопоставления выполнения программ в пакетном режиме без синхронного взаимодействия с внешним миром, режиму, когда приложения "непосредственно" взаимодействуют с источниками/получателями информации. При этом под понятие real-time подпадали не только системы АСУТП, но и все интерактивные системы тоже. В частности первая глобальная информационная система New York Times, построенная на базе OS/360 тоже рассматривалась как система реального времени. В этот же класс попадали и системы резервирования билетов ("Сирена" вообще использовала управляющие минимашины СМ-2М) и все прочие on-line системы.


Мой текстовый редактор, работающий в ОС Linux, вполне отвечает моим требованиями на время реакции на мои действия
Мне кажется, что realtime скорее можно перевести как “ОС постоянной  доступности”, или, может быть, готовности.
Evgeniy: как вообще перевести слово “realtime” в отрыве от данного контекста? И как (варианты) может звучать перевод? “ОС полной занятости”?

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


Для меня понятие ОСРВ (а, точнее, СРВ) включает:
надёжность (система достаточно надёжна, чтобы постоянно выполнять возложенные задачи, либо(??) обладает достаточным запасом резервирования и/или способностью к самовосстановлению (регенерации));
масштабируемость (или встраиваемость, т.е. компактность исполнения);
возможность работы со специфичным оборудованием (опять же – встраиваемость);
предсказуемость временных параметров даже в самых “дальних” ветвях дерева рисков;

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



Совершенно с вами согласен. Только я бы сказал, что не по более жестким правилам, а со многими упрощениями - такими как фиксированные уровни приоритетов процессов или упрощенное управление памятью.


Просто упрощения не приведут к предсказуемости системы. Ввод в ОС РВ фиксированных приоритетов (точнее, я бы сказал, статических, потому как фиксированные – это RMS!) - вполне сознательное требование, чтобы разработчик изначально распределил “веса” задач системы. Потому как только Разработчик СРВ может предвидеть последствия сбоя (т.е. пропуска своей “очереди”), система же понятия не имеет, сколько раз можно есть эти грибы.
Это уменьшение степени нечёткости системы, сл-но ужесточение правил управления ею. К тому же, я думаю, такие “упрощения” очень недёшево обходятся разработчикам ОСРВ.

Это IMHO уже из области схоластики И я не думаю, что статические приоритеты усложняют жизнь разработчикам - исторически они появились первыми и, следовательно требовали меньших накладных расходов. Да и реализация значительно проще - можете мне поверить - ни тебе дополнительных перепланировщиков, ни тебе учета времени, ни дополнительных алгоритмов принятия решений - как в армии "...и делай что велят!"




Традиционно, т.к. системы РВ применялись для управления технологическим оборудование с использованием ограниченных вычислительных ресурсов, ОС РВ строятся, как правило, более модульно - чтобы обеспечивать,
во-первых, существенно более гибкое конфигурирование в смысле исключения компонент, ненужных в конкретной системе управления, и,
во-вторых, легкость дополненя новыми модулями, обеспечивающими поддержку специфических для системы функций - в частности специального оборудования.

Т.е. встраиваемость и масштабируемость. Это уже требования больше к встраиваемой (embedded) ОС. Хотя, безусловно, любая настоящая ОС РВ должна быть embedded. Пора строить дерево классификации ОС?

Ну почему "встраиваемость и масштабируемость"? Представьте себе систему управления любым достаточно большим техпроцессом - там тысячи самых разных датчиков и исполнительных механизмов и для всех нужны драйвера. А всякий коструктор этого железа ничего знать не знает (да и не хочет знать!) о проблемах программистов и наровит придумать что-то свое исходя из каких-то своих соображений, весьма далеких от проблем АСУТП. И привязывать все это добро к системе управления приходится разработчику системы управления, а не поставщику ОС - никакая QSS, HP или НПО "Импульс" знать об этих железках не знает и знат не желает - и это правильно



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

Тут слово “пользователь” следует использовать очень осторожно. У встраиваемых ОС РВ не бывает пользователей, в лучшем случае – операторы.
Есть разработчики, для них и документация.

По отношению к ОС РВ разработчик системы РВ и является основным пользователем - так же как основным пользователем компиллятора и билиотек является программист. А каков основной пользователь - таковой и должна быть документация.
Но я имел в виду другое. Если вы сравните документацию для разработчика по организации ОС, скажем QNX и Win, то мы увидим, что эта документация для QNX значительно более компактна, полна и полезна.



Собственно, именно этот стиль "конструктора" и является, как мне кажется, принципиальной отличительной чертой ОС РВ.

Одной из. Самой важной чертой является ответственность разработчиков ОСРВ за свою систему.

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



Сразу оговорюсь, что это не имеет абсолютно ничего общего с "open source"

М/у прочим, open source RTOS – очень интересная тема для обсуждения!
Не является ли уход в open source фактическим заявлением о прекращении существования ОСРВ как продукта?

А кто делает такие заявления об уходе в open source?


Конечно, я понимаю, что лучшая ОСРВ – это однозадачная ОСРВ , т.е либо полное её отсутствие как вида, либо DOS and friends. Самое смешное, что если система не распределённая – это самый действенный способ устранения неопределённости временных характеристик системы. С другой стороны, установление связей м/у узлами распределённой системы – самое деструктивное действие. Потому как любой коммуникационный протокол может быть лишь условно предсказуем

И видимо поэтому "DOS жил, DOS жив, DOS будет жить!" И вообще он "...живее всех живых!"

Видите ли, Дима... Любое взаимодействие с реальным оборудованием является "лищь условно предсказуемым" и коммуникации здесь не исключение. А кроме того, предсказуемость поведения системы подразумевает предсказуемость и в случае отказов...

[ Это Сообщение было отредактировано: Evgeniy в 2003-06-26 01:45 ]


Название: Объясните ламеру, что такое ОС реального времени ?
Отправлено: olej от Июня 29, 2003, 05:01:00 pm

 dmi пишет:
Конечно, я понимаю, что лучшая ОСРВ – это однозадачная ОСРВ , т.е либо полное её отсутствие как вида, либо DOS and friends. Самое смешное, что если система не распределённая – это самый действенный способ устранения неопределённости временных характеристик систе


Такое мнение, и мнение широко распространённое, мягко говоря - сильно преувеличено (IMHO;-)):

- ещё MS "купились" на него, и до DOS 3.30 система не предусматривала каких либо асинхронных ветвлений, но они же, самого начала на него и попались: для подсистемы печати пришлось сразу же "изобретать" совершенно загадочный способ "через задницу", который потом развился в более или менее универсальные механизмы: INT 2F - TSR - сохранение/ восстановление PSP ... etc. Так что  MS DOS, даже 2.0 - уже не была "однозадачная"... Ну и что? - сильно добавила им их "почти однозадачность" в смысле надёжности и предсказуемости?

- такое мнение бытует стараниями разработчиков систем управления, пришедших "от железа", от микроконтроллеров, максимум - там: а).естественно, или вовсе нет никакой управляющей системы, или есть что-то уровня простейшего монитора б).слишком высока цена (трудоёмкость) сколько нибудь сложных управляющих алгоритмов и, самое главное - в).решаемые задачи на порядки! проще тех, которые могут потенциально решаться в общем случае системой ОСРВ. А дальше они, на основе своего предыдущего опыта "интерполируют" (как в математической индукции ), что "однонитевая" система с жёстко детерминированной логикой будет ... "надёжнее и предсказуемее".

- ни одна реальная, достаточно сложная система, подлежащая управлению ОСРВ - не детерминирована и не предсказуема в своём поведении, в смысле асинхронности её реакций в условиях функционирования, а значит "однолинейная" система управления рано или поздно окажется не в состоянии реагировать на сложность стимулов ... и окажется "непредсказуемой" т.е. "загнётся". Т.е., опять же: "реалтаймовость", предстказуемость, надёжность последовательностного ПО - это эффект только простоты класса задач, решаемых ... "в такой манере".

- давно уже и много сказано, написано объёмными примерами и т.д. "классиками", тем же Э.Дейкстрой, что даже казалось бы совершенно последовательностные вычислительные процессы (при сложности выше какой-то) часто оказывается гораздо проще (логичнее, понятнее, верифицированнее!;-)) описать большим числом параллельно (пусть даже совершенно "квазипараллелно") выполняющихся ветвей. А все эти качества (см.выше) - это, в конечном итоге - и есть гарантия предсказуемости поведения ПО и
отсутствия в нём "глухих углов" (вспомните тут же утверждение, к которому шли долгие годы, пока стало понятно: "Никаким, сколь угодно тщательным и спланированым тестированием нельзя достоверно доказать безошибочность функционирования программы").

P.S. Я сам иногда, в сердцах, сержусь по случаю, если не ладится что-то: вот как просто,  хорошо и понятно было в DOS... Но это всё не из области реалий, а из области "ностальгии": задачи там решались те, которые "под силу DOS", т.е. на голову проще - вот они и решались ... доступно и просто.


Название: Объясните ламеру, что такое ОС реального времени ?
Отправлено: ed1k от Июня 30, 2003, 04:37:00 am

Olej пишет:
- ещё MS "купились" на него...

MS не покупалась, MS купила DOS. Шо купила, те i мала.

для подсистемы печати пришлось сразу же "изобретать" совершенно загадочный способ "через задницу", который потом развился в более или менее универсальные механизмы: INT 2F - TSR...

Это смотря как посмотреть. Им не пришлось "изобретать" подсистему печати, так как всегда можно было скопировать файл на LPT и подождать когда он распечатается. Просто немного подумав они добавили возможность фоновой печати (print) в систему, исходя из анализа требований основных покупателей системы на тот момент.

- такое мнение бытует стараниями разработчиков систем управления, пришедших "от железа", от микроконтроллеров, максимум - там: а).естественно, или вовсе нет никакой управляющей системы, или есть что-то уровня простейшего монитора б).слишком высока цена (трудоёмкость) сколько нибудь сложных управляющих алгоритмов и, самое главное - в).решаемые задачи на порядки! проще тех, которые могут потенциально решаться в общем случае системой ОСРВ. А дальше они, на основе своего предыдущего опыта "интерполируют" (как в математической индукции ), что "однонитевая" система с жёстко детерминированной логикой будет ... "надёжнее и предсказуемее".

Система с жестко детерминированной логикой будет надежнее и предсказуемее, без кавычек, не зависимо "однонитевая" или "многонитивая" она есть. На счет сложности алгоритмов и порядка простоты задач, решаемых системами на микроконтроллерах без ОС или с минимальной робастой ОС, я воздержусь комментировать. Но вы не правы, особенно на территории бывшего СССР. Развитие микроэлектроники позволило допустить значительные накладные расходы на ОСРВ и прочие довольно универсальные плюшки, унифицировать процесс разработки, то есть использовать более дешевого программиста, которого всегда можно заменить, и перенести в какойто мере ответственность с программиста на операционную систему. Именно это дало толчок развитию ОСРВ, а не сложность решаемых задач.

- ни одна реальная, достаточно сложная система, подлежащая управлению ОСРВ - не детерминирована и не предсказуема в своём поведении, в смысле асинхронности её реакций в условиях функционирования, а значит "однолинейная" система управления рано или поздно окажется не в состоянии реагировать на сложность стимулов ... и окажется "непредсказуемой" т.е. "загнётся". Т.е., опять же: "реалтаймовость", предстказуемость, надёжность последовательностного ПО - это эффект только простоты класса задач, решаемых ... "в такой манере".

Любая, сколь угодно сложная система, если она критическая, не зависимо управляется она ОСРВ или любой другой системой, является абсолютно детерминированной и предсказуемой. Детеменированность и предсказуемость определяется умениями разработчиков системы и её критичностью. Если в силу каких либо обстоятельств, система не полностью детерминирована рано или поздно произойдет сбой системы, не зависимо чем она управляется: DOS, RTOS или без какой-либо ОС. Про "сложность стимулов" вообще сильно сказано. Я не совсем понял, что вы имели ввиду Но смею вас заверить, любые сложности стимулов предусматриваются при разработке системы. Если система достаточно критическая - то ставится детектор сложности стимулов, и при превышении заданного порога сложности стимулов система обрабатывает ситуцию "Авария: превышение сложности стимулов" - это может быть останов системы, самоликвидация системы, переход на альтернативный алгоритм управления и т.д. Если разработчик чего-либо не предусмотрел, то происходит что-то плохое, опять же таки не зависимо, чем это всё управляется, ДОСом или QNXом, по одной простой причине - случилось не предвиденное.

В общем, ладно. Обломило меня писать больше. Не согласен я крепко. Разработка в ОСРВ зачастую бывает на порядки дешевле и быстрее, чем в DOS или вообще без ОС, так как часто необходимые компоненты уже есть. А надежность и предсказумость тут не причём. Разработка систем вообще без ОС или со своей ОС, дело кропотливое и дорогое, но списывать баги не на кого.


Название: Объясните ламеру, что такое ОС реального времени ?
Отправлено: olej от Июня 30, 2003, 06:36:00 am

ed1k пишет:
Любая, сколь угодно сложная система, если она критическая, не зависимо управляется она ОСРВ или любой другой системой, является абсолютно детерминированной и предсказуемой. Детеменированность и предсказуемость определяется умениями разработчиков системы и её критичностью. Если в силу каких либо обстоятельств, система не полностью детерминирована рано или поздно произойдет сбой системы, не зависимо чем она управляется: DOS, RTOS или без какой-либо ОС. Про "сложность стимулов" вообще сильно сказано. Я не совсем понял, что вы имели ввиду Но смею вас заверить, любые сложности стимулов предусматриваются при разработке системы. Если система достаточно критическая - то ставится детектор сложности стимулов, и при превышении заданного порога сложности стимулов система обрабатывает ситуцию "Авария: превышение сложности стимулов" - это может быть останов системы, самоликвидация системы, переход на альтернативный алгоритм управления и т.д. Если разработчик чего-либо не предусмотрел, то происходит что-то плохое, опять же таки не зависимо, чем это всё управляется, ДОСом или QNXом, по одной простой причине - случилось не предвиденное.

Я может плохо (непонятно) сказал... Я имел в виду "сложность" (в первую очередь асинхронность и непредсказуемость) поступления сигналов (событий) от управляемой системы. И если "однозадачная" система висит в ожидании каждого из воздействий, например, на прерывании (пусть их будет очень много) - то это уже не однозадачная система: обработчик каждой веточки прерывания - это уже своя задача ... со всеми последствиями синхронизации, которые затронул dmi.


В общем, ладно. Обломило меня писать больше. Не согласен я крепко.

- Не согласный я!
- А с кем: с Каутским или с Энгельсом?
- Да с обоими... (с)М.Булгаков


Разработка в ОСРВ зачастую бывает на порядки дешевле и быстрее, чем в DOS или вообще без ОС, так как часто необходимые компоненты уже есть. А надежность и предсказумость тут не причём. Разработка систем вообще без ОС или со своей ОС, дело кропотливое и дорогое, но списывать баги не на кого.

Так хорошо же, что есть "готовые компоненты".
А надёжность и предсказуемость тоже могут быть "при чём" - при том, что в ОСРВ эти компоненты выверены годами, вылизаны тонкие эффекты, а если их же эквиваленты делать каждый раз и вручную - так они заведомо будут с большим числом скрытых дефектов.





Название: Объясните ламеру, что такое ОС реального времени ?
Отправлено: ed1k от Июня 30, 2003, 07:54:00 am

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

Всё равно плохо. Это первое и основное при разработке realtime систем, определить наихудший случай развития событий, теоретически возможный, даже если все в один голос будут вопить, что этого не может быть, так как этого не может быть никогда. Realtime система тем и отличается, что в этом худшем случае всё будет отработанно с заданной точностью, в заданном интервале времени. Не хуже. И вот тут-то однозадачный ДОС и друзья как раз и лучше, для такой оценки и возможного моделирования ситуации - так как состояние системы более-менее известно и прогнозируемо. ОСРВ, такая как QNX добавляет много факторов, которые действительно сложно учесть. Об этом, собственно и шла речь Остается только верить заверениям QSSL, что задержка отработки на такой-то платформе будет не больше того-то. "Я себе не верю, а тебе верю" (с) какой-то фильм про глухих.

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

Еще хуже сказал Уже и ДОС многозадачной системой оказался. Если уж о прерываниях идет речь - то не так уж и много, определяется контроллером прерываний. И логика обработки прерываний - тоже им (точнее тем, как мы его запрограммировали). А ну-ка расскажите мне приоритетность прерываний на х86 в QNX6 и как это можно изменить. В документации нет ничего. В конференциях на inn.qnx.com было несколько разных ответов. Конечно же счастливые обладатели PE могут посмотреть исходник, где контроллер инициализируется и всё станет ясно... Что если я хочу rotating priority? Я понимаю, что сейчас не принято морочится по таким пустякам... Но иногда это надо, пусть буржуи смеются с русского парня, который циклы считает. И именно в realtime это надо, и именно в очень простой ОС или при отсутствии оной это можно сделать - вот оно, единство и борьба. Но это так, пример.


Так хорошо же, что есть "готовые компоненты".
А надёжность и предсказуемость тоже могут быть "при чём" - при том, что в ОСРВ эти компоненты выверены годами, вылизаны тонкие эффекты, а если их же эквиваленты делать каждый раз и вручную - так они заведомо будут с большим числом скрытых дефектов.


Когда что-либо делает кто-то, то всегда есть вероятность, что тот кто-то либо даст неверную информацию, либо сделает не так как хотелось. По этому и ещё целому ряду причин, иногда люди предпочитают своё... пусть Г, но своё



Название: Объясните ламеру, что такое ОС реального времени ?
Отправлено: olej от Июня 30, 2003, 06:43:00 pm
Эдуард, ты горячишься - я вовсе не имел намерения задеть разработчиков "от железа" и тебя в частности... Я знаю, что ты очень многое можешь сделать ... на уровне команд, но это ты можешь, а многие другие это могут? а трудоёмкость?...


ed1k пишет:
Всё равно плохо. Это первое и основное при разработке realtime систем, определить наихудший случай развития событий, теоретически возможный, даже если все в один голос будут вопить, что этого не может быть, так как этого не может быть никогда. Realtime система тем и отличается, что в этом худшем случае всё будет отработанно с заданной точностью, в заданном интервале времени. Не хуже. И вот тут-то однозадачный ДОС и друзья как раз и лучше, для такой оценки и возможного моделирования ситуации - так как состояние системы более-менее известно и прогнозируемо. ОСРВ, такая как QNX добавляет много факторов, которые действительно сложно учесть.

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

Еще хуже сказал Уже и ДОС многозадачной системой оказался.

А чем тебе не нравится многозадачный DOS?
1. многие его TSR-ы использовали ... "кооперативную многозадачность" для своих специфических целей, и своими уж очень специфическими средствами. Потом из TSR-ов вырос Windows 2.0 (как жаль, что он "не умер маленьким", на вот этом 2.0 ).
2. было не так и мало вообще multitasker-надстроек над DOS, начиная с QEMM и до чисто разработческих...
3. я и сам не один раз заставлял TSR-ы крутиться в background... и чем это отличается от многих thread в рамках одного process?
4. да и драйверочки их *.drv, увязанные в цепочку ... тоже просыпались по событиям (прерываниям) и приостанавливали текущий процесс.

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

"Не так и много" - это в конкретном железе - x86, и это не его достоинство, а слабость. В ещё бог знает когда DEC-овских LSI-11/PDP-11, которые изначально проектировались для плотного взаимодействия с внешним окружением, их было ... забыл, но несколько сот, кажется, потенциально (векторов).


Когда что-либо делает кто-то, то всегда есть вероятность, что тот кто-то либо даст неверную информацию, либо сделает не так как хотелось. По этому и ещё целому ряду причин, иногда люди предпочитают своё... пусть Г, но своё

Это давняя история ... желать всё сделать самому, с начала, с нуля... Ещё такой балбес был, Рахметов, кажется в русской литературе. Это - очень привлекательный (на вид!) путь, но...
"Благими намерениями дорога в Ад вымощена" (с) А.Данте.


Название: Объясните ламеру, что такое ОС реального времени ?
Отправлено: olej от Июня 30, 2003, 06:48:00 pm

dmi пишет:
Мне очень стыдно за этот опус. Боюсь мне было стыдно настолько, что я его потерял. По крайней мере найти его не могу - ни на дисках, ни в почте я его не вижу.
Olej: не посылал ли я случайно этот черновик почтой?

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

Это всё будет не раньше июля месяца, т.к. сейчас сдаю экзамены и ищу работу.

dmi - я посмотрел ... на разных компах всё пораскидано - не нашёл, но там был очень сырой, совсем начерно текст. А вот кое-что из материалов, которые тогда подбирались: помнишь, olegus высылал большой конспект лекций, подготавливаемый в каком-то из ВУЗ-ов москвы по спецкурсу? и ещё кое-что с тех времён - осталось. Если и вправду хочешь над этим поработать - может выслать?


Название: Объясните ламеру, что такое ОС реального времени ?
Отправлено: Evgeniy от Июня 30, 2003, 10:07:00 pm
Скажу честно - ностальгическое замечание Димы об однозадачных ОСРВ я воспринял как чисто эмоциональное преувеличение и не придал ему особого значения. Но судя по развитию темы, я ошибся...

Olej думаю совершенно прав в том, что при изначальной установке на однозадачность MS не смогла обойтись в DOS без фактической многозадачности.
И опять же, как мне кажется, Олег прав в том, что начиная с некоторого, не очень высокого порога сложности жесткие алгоритмы становятся плохо предсказуемыми просто в силу сложности алгоритмов. Помнится в какой-то из статей того же Дейкстры мне попалось замечание о том, что система прерываний (а вслед за ней и средства синхронизации процессов) была придумана именно потому, что стало практически невозможно добиться синхронизации оборудования на основе жестко детерминированных алгоритмов.


ed1k пишет:
Но вы не правы, особенно на территории бывшего СССР. Развитие микроэлектроники позволило допустить значительные накладные расходы на ОСРВ и прочие довольно универсальные плюшки, унифицировать процесс разработки, то есть использовать более дешевого программиста, которого всегда можно заменить, и перенести в какойто мере ответственность с программиста на операционную систему. Именно это дало толчок развитию ОСРВ, а не сложность решаемых задач.

Эдуард, вы безусловно правы в том смысле, что если нет аппаратных ресурсов для ОС, то ее не используют . Но парадокс заключается в том, что универсальные процессоры начали применяться в качестве универсальных программируемых контроллеров только тогда, когда такие "избыточные" ресурсы появились - первая управляющая цифровая машина (HP)вышла со своей ОС РВ.

И еще одно замечание по поводу "накладных" расходов на многозадачность - это уже из личного опыта
Как-то мне надо было сделать из PC'шки "шлюз", перекачивающий данные из управляющей машины в простой файл на новеловский сервер. Особенностью этой перекачки было то, что происходила она по инициативе управляющей машины - т.е. с точки зрения "шлюза" непредсказуемо. По разным причинам "политического" порядка сначала все это было сделано в однотрэдовом варианте под DOS с постоянным опросом линии связи с управляющей машиной. Результат был ужасен, но вполне предсказуемым - PC не успевала принимать данные с линии связи. И это при том, что управляющий процессор, работавший с многозадачной операционкой, был на два-три порядка менне производительным, чем в PC. Ситуацию удалось очень легко исправить, сделав DOS-программу мультитрэдовой c параллельно работающими трэдами для приема данных с линии связи и для записи их в файл на сервере.
Так что многозадачность не только вызывает накладные расходы ресурсов, но и упрощает более продуктивное их использование. А заодно позволяет сделать недетерминированную систему более предсказуемой


Название: Объясните ламеру, что такое ОС реального времени ?
Отправлено: ed1k от Июля 01, 2003, 04:42:00 am

Olej пишет:
Эдуард, ты горячишься - я вовсе не имел намерения задеть разработчиков "от железа" и тебя в частности... Я знаю, что ты очень многое можешь сделать ... на уровне команд, но это ты можешь, а многие другие это могут? а трудоёмкость?...

Я вовсе не воспринимаю что-либо в этом форуме персонально. Вряд ли я горячусь, просто пытаюсь выссказать свою точку зрения. Может быть однобокую, так как имел дело в основном с тем, что буржуйские теоретики называют hard realtime. И от soft realtime мне становится смешно. Здесь было вполне достаточно хорошо высказано dmi определение realtime систем, может быть даже нечаянно

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

-----------
Подумал и решил ещё и сюда дописать. Если эта тема интересна - то пример сложной системы в студию. Потому что, у меня всё анекдот из моей практики крутится: два датчика давления в трубе, давление либо одинаково (система выключена), либо на одном датчике больше (собственно по разнице регулируем систему, хотя это один из многих параметров, всего около двух сот). Спрашиваю главного идеолуха, а что если давление не больше, а меньше - что делать? "Этого не может быть никогда," - его ответ. Совесть не позволила команду halt в ту ветвь вписать Как позже выяснилось, такое вполне может быть.
-------------
Мы говорим о бесконечном множестве или конечном? Именно из этого множества выбираются "наихудшая" последовательность событий, с точки зрения устойчивости системы, например. Для этого и существуют разделы математики как комбинаторика, теория вероятностей, статистика и т.д. Да, для сложной системы это будет сложный аппарат оценки, возможно вероятностных оценок, может быть даже несколько альтернативных путей определения, куча аналитиков и огромные вычислительные ресурсы (не реалтаймовые). Существует теория построения систем, всё там возня с рисками и минимизацией суммарного риска, риск "пропуска цели", риск "ложной тревоги"... Да знаете вы всё это, не думаю, что только наш поток РТФ ХИРЭ учил это. Но сказать, что наша система "сложная" и поэтому мы забъём на всякий анализ (потому что это сложно и мы не в курсе как это делать) - это авантюризм последнего времени. Так делать нельзя и об этом я и веду речь. Никакая ОСРВ не гарантирует вам, что вы построили надёжную реалтайм систему, только потому что это всё крутится под управлением ОСРВ. И чем проще ОС, тем проще учитывать её поведение при анализе системы. А вот обеспечит ли простая ОС решение для нашей сложной задачи - это уже другой вопрос. Но если обеспечит (и анализ проводился адекватно в обоих случаях), можно смело сказать, что вариант на простой ОС будет надёжней

"Не так и много" - это в конкретном железе - x86, и это не его достоинство, а слабость. В ещё бог знает когда DEC-овских LSI-11/PDP-11, которые изначально проектировались для плотного взаимодействия с внешним окружением, их было ... забыл, но несколько сот, кажется, потенциально (векторов).

Я о конкретном железе и веду речь. Пример, так сказать. "Аппаратура работает не в принципе, а в кожухе" (с) Учительница в ХИРЭ.

Это давняя история ... желать всё сделать самому, с начала, с нуля...

Я имел ввиду некоторые системы для так называемых "силовых" структур. Там часто - no way

Evgeniy пишет:
Как-то мне надо было сделать из PC'шки "шлюз", перекачивающий данные из управляющей машины в простой файл на новеловский сервер. Особенностью этой перекачки было то, что происходила она по инициативе управляющей машины - т.е. с точки зрения "шлюза" непредсказуемо. По разным причинам "политического" порядка сначала все это было сделано в однотрэдовом варианте под DOS с постоянным опросом линии связи с управляющей машиной. Результат был ужасен, но вполне предсказуемым - PC не успевала принимать данные с линии связи. И это при том, что управляющий процессор, работавший с многозадачной операционкой, был на два-три порядка менне производительным, чем в PC. Ситуацию удалось очень легко исправить, сделав DOS-программу мультитрэдовой c параллельно работающими трэдами для приема данных с линии связи и для записи их в файл на сервере...

Если так подходить, то любая хоть немного сложная программа для DOS многозадачная: организовывает интерфейс, получает/пересылает/записывает данные и т.д. Как этот набор задач организавал программист (не кодер, а архитектор, если хотите, как в Буржуазии принято) - от этого многое зависит. И в мультизадачной среде неумелое программирование приводит к неработоспособной системе. Если вы в DOS сделали всё мультитредово, то наверняка вы отказались от постоянного опроса линии связи. Подумайте, если в QNX вы один поток натравите на опрос линии связи: низкий приоритет - теряете данные, высокий приоритет - остальные трэды не успевают делать работу. Даже если вы найдете золотую середину - это неумело спланированная система, пусть даже и удовлетворительно работающая за счет мультитрэдовости (мультизадачности) QNX.

[ Это Сообщение было отредактировано: ed1k в 2003-07-01 04:48 ]


Название: Объясните ламеру, что такое ОС реального времени ?
Отправлено: ed1k от Июля 01, 2003, 07:27:00 am
Решил ещё тут написать, всё равно гнилыми помидорами закидаете, но выскажу своё невежественное понимание вопроса. Некоторые еще подумают, что DOS я выставляю как оразец ОСРВ... Это не так. Некоторые клоны претендуют на РТ, но я с ними не работал. И многопоточность в DOS, уж простите за каламбур, но гемморой ещё тот, кто работал с файловой системой в DOS, например, надеюсь поймёт. Так вот, по порядку... так сказать с начала этого трэда и очень хорошего вопроса, как я это понимаю. ОСРВ, как и обычная ОС, предоставляет программисту набор сервисов, но, в отличии от неОСРВ, гарантирует конечное время выполнения этих сервисов. Это, плюс иногда некоторые архитектурные и прочие особенности, направленные на упрощение или поддержку разработки систем реального времени, позволяют программистам создавать системы (приложения) реального времени на базе ОСРВ. Это как раз те системы (приложения, или аппаратно-программные комплексы, если хотите), которые делают всё вовремя - то есть реакция на события или обработка потока информации и т.д. происходит за время не хуже заданного. Теперь о некоторых "горбатостях" определения. Конечное время - дают ли производители ОСРВ цифры? Нет. Лишь только некоторые временные параметры, привязанные к конкретной аппаратуре. Здесь возникает резонный вопрос - ОС, которая не называет себя ОСРВ, на практике тоже выполняет свои сервисы за конечное время. И иногда это время вполне удовлетворительно для решения задачи. Разница зачастую заключается только в том, что производители ОСРВ стремятся сделать максимально узкий разброс временных параметров. ОСРВ не обязательно быстрая, но в такой системе исключены источники, которые могут существенно повлиять на временные характеристики, например, свопирование памяти или COW . В то время, как в ОС общего назначения путём разных ухищрений стремятся уменьшить _среднее_ время реакции. На практике, уж очень часто я встречал, когда берётся аппаратура с запасом, чтобы худшее время неОСРВ было не хуже требуемого и строится система реального времени. На практике, многие realtime задачи могут так решаться, но некоторые всё же нет. Всё остальное - однозадачная или многозадачная система, организована ли защита памяти или нет, наследуются ли приоритеты в связке сервис-клиент, это сервисы, которые могут упростить разработку приложений, или же усложнить, или скрыть некоторые баги Под конкретную задачу разработчик должен выбрать соответствующую задаче ОС, на практике с учетом сложивжихся в коллективе разработчиков предпочтений Поэтому часто можно услышать фразу типа такой:
"Why are you going to use QNX in the project?"
"'cause QNX's COOL."
(c) Представитель Tundra Semicinductor на недавнем семинаре "QNX + Motorolla: RapidIO bus..." в Оттаве.

А что касается "железячников" строящих реалтайм на микроконтроллерах, DSP и прочих довольно сложных железках, городят буфера на сверхбыстрых RAM. Так ведь и аппаратура развивается главным образом в ту же сторону, что и большинство ОС - то есть на сокращение среднестатистического времени выполнения. Кэш, например, враг реалтайма Вы работаете с кешированными данными и всё быстро и прекрасно... и вдруг непопадание - на обработку _такого_ же, равноценного, кусочка данных потребовалось значительно большее время


Название: Объясните ламеру, что такое ОС реального времени ?
Отправлено: dmi от Июля 01, 2003, 05:34:00 pm

Olej пишет:

dmi пишет:
Мне очень стыдно за этот опус. Боюсь мне было стыдно настолько, что я его потерял. По крайней мере найти его не могу - ни на дисках, ни в почте я его не вижу.
Olej: не посылал ли я случайно этот черновик почтой?

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

Это всё будет не раньше июля месяца, т.к. сейчас сдаю экзамены и ищу работу.

dmi - я посмотрел ... на разных компах всё пораскидано - не нашёл, но там был очень сырой, совсем начерно текст.

Оч. хорошо. Я тут у себя одну страничку нашёл из распечатки. В /dev/null.


А вот кое-что из материалов, которые тогда подбирались: помнишь, olegus высылал большой конспект лекций, подготавливаемый в каком-то из ВУЗ-ов москвы по спецкурсу?

У меня оно лежит под рукой в распечатанном виде. Но там не очень уж много интересного, насколько я помню. Кстати, Олег сказал, что дозвонился до автора и просил разрешения на публикацию. Автор (К.Ю. Богатырский) сказал, что издал это в виде книги.
Может быть у кого-нибудь есть информация об этом?


и ещё кое-что с тех времён - осталось. Если и вправду хочешь над этим поработать - может выслать?

А можно я пока вас послушаю?


Название: Объясните ламеру, что такое ОС реального времени ?
Отправлено: kors от Июля 01, 2003, 07:28:00 pm

ed1k пишет:
 Решил ещё тут написать, всё равно гнилыми помидорами закидаете...

а нет, помидоров-то...
Думается мне, что спор-то не о чём (сразу по голове не бить )
Мне так видится, что о разных аспектах вы говорите... тут не противопоставлять надо, а объединять, вполне сройная точка зрения получится.
Ну а в самом-то деле ?
ОСРВ дает оценки времени реакции на события при определенных условиях ? да.
Никто же не будет утверждать, что при этом мозги разработчика не важны и он не сможет сделать время реакции целевой системы в целом непредсказуемым.
Угробить можно все что угодно. Это справедливо и в случае написания всего самостоятельно. Было бы желание. Тут панацеи вроде нет.
Анализ худших времен реакции системы в целом нужен ? Естессно, но сложно спорить с тем, что в случае использования ОСРВ это проще, чем с ОС
общего назначения. Опять же есть задачи где приходиться обходиться без ос - тоже вроде не спорный вопрос, и такты иногда нужно считать.
Давайте не спорить, давайте объединять - продуктивнее будет =) НЕТ ?

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


Название: Объясните ламеру, что такое ОС реального времени ?
Отправлено: Evgeniy от Июля 02, 2003, 01:21:00 am

ed1k пишет:

Olej пишет:
Я говорил не об "наихудшем", а об асинхронности множества (если это действительно сложная система) событий, взаимную последовательность которых (во всех их комбинаторных вариантах) предсказать нельзя. Иначе эта система - не сложная...

-----------
Подумал и решил ещё и сюда дописать. Если эта тема интересна - то пример сложной системы в студию. Потому что, у меня всё анекдот из моей практики крутится: два датчика давления в трубе, давление либо одинаково (система выключена), либо на одном датчике больше (собственно по разнице регулируем систему, хотя это один из многих параметров, всего около двух сот). Спрашиваю главного идеолуха, а что если давление не больше, а меньше - что делать? "Этого не может быть никогда," - его ответ. Совесть не позволила команду halt в ту ветвь вписать Как позже выяснилось, такое вполне может быть.
-------------

Эдуард! Надеюсь ИВС энергоблока электростанции достаточно сложная система  - даже без функций прямого управления


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

Естемтвенно мы говорим о конечном, хотя и ОЧЕНЬ большом множестве событий. Но ведь сами события еще не все - состояние системы определяется комбинацией событий, но не только, так сказать, "конфигурацией" - набором - событий, но и их распределением во времени. А вот это самое распределение во времени уже имеет мощность континума - думаю, что мы не будем углубляться в идеи квантованности времени, тем более, что это не сильно улучшит наше положение
Разумеется, что анализ на аварийные ситуации проводится с использованием всего доступного аппарата. Но этот анализ проводится для ограниченного набора состояний объекта управления, но не для всех возможных событий в системе управления. Более того - весь тот анализ о котором вы пишите проводят специалисты-технологи и они ничего знать не знают о ваших программах и тех дополнительных событиях, которые там возникают


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

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


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

Не преувеличивайте Вы прекрасно понимаете о чем идет речь - программу можно назвать многопоточной тогда и только тогда, когда различные ее ветви могут выполнияться ОДНОВРЕМЕННО.


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

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


ed1k пишет:
Решил ещё тут написать, всё равно гнилыми помидорами закидаете, но выскажу своё невежественное понимание вопроса.

Неужели мы выглядим такими кровожадными? Кстати, гнилых помидоров не встречал с тех пор как перестал бывать на колхозных полях...


И многопоточность в DOS, уж простите за каламбур, но гемморой ещё тот, кто работал с файловой системой в DOS, например, надеюсь поймёт.

Вы говорите о нереенерабельности функций DOS/BIOS? Поверьте, не так страшен зверь, как его малюют


ОСРВ, как и обычная ОС, предоставляет программисту набор сервисов, но, в отличии от неОСРВ, гарантирует конечное время выполнения этих сервисов. Это, плюс иногда некоторые архитектурные и прочие особенности, направленные на упрощение или поддержку разработки систем реального времени, позволяют программистам создавать системы (приложения) реального времени на базе ОСРВ. Это как раз те системы (приложения, или аппаратно-программные комплексы, если хотите), которые делают всё вовремя - то есть реакция на события или обработка потока информации и т.д. происходит за время не хуже заданного. Теперь о некоторых "горбатостях" определения. Конечное время - дают ли производители ОСРВ цифры? Нет. Лишь только некоторые временные параметры, привязанные к конкретной аппаратуре. Здесь возникает резонный вопрос - ОС, которая не называет себя ОСРВ, на практике тоже выполняет свои сервисы за конечное время. И иногда это время вполне удовлетворительно для решения задачи. Разница зачастую заключается только в том, что производители ОСРВ стремятся сделать максимально узкий разброс временных параметров.

Вот здесь я с вами абсолютно согласен - и совсем напрасно вы опасались гнилых помидоров
Но какой из этого следует вывод? А очень простой - нет жесткой грани между ОСРВ и ОС общего назначения, а есть системы реального времени, включающие и аппаратуру, и ОС, и систему программирования с ее библиотеками и, наконец, приложения РЕАЛЬНОГО ВРЕМЕНИ.  Если характеристики некоторой Супер-ПуперОС удовлетворяют требованиям, предъявляемым к управлению некоторым объектом/процессом, то по отношению к этому объекту/процессу эта Супер-ПуперОС будет ОСРВ...




Название: Объясните ламеру, что такое ОС реального времени ?
Отправлено: kors от Июля 02, 2003, 04:33:00 pm


Evgeniy пишет:
Но какой из этого следует вывод? А очень простой - нет жесткой грани между ОСРВ и ОС общего назначения, а есть системы реального времени, включающие и аппаратуру, и ОС, и систему программирования с ее библиотеками и, наконец, приложения РЕАЛЬНОГО ВРЕМЕНИ.  Если характеристики некоторой Супер-ПуперОС удовлетворяют требованиям, предъявляемым к управлению некоторым объектом/процессом, то по отношению к этому объекту/процессу эта Супер-ПуперОС будет ОСРВ...



Жесткой грани, конечно, нет, но некая определенность все же есть.
Такая ОС, как минимум, должна предоставлять _временные гарантии_ ее реакции на события, как внешние, так и внутрение. Есть постулаты построения ОС, обеспечивающие повышене достоверности эвристик оценки
поведения "сложных целевых систем(с)", а жесткой грани, конечно же нет .

Останется только определить где же заканчивается "характеристики некоторой Супер-ПуперОС удовлетворяют требованиям, предъявляемым к управлению" и начинается "системы реального времени, включающие и аппаратуру, и ОС, и систему программирования с ее библиотеками и, наконец, приложения РЕАЛЬНОГО ВРЕМЕНИ"

PS : под системой программитрования понимался run-time ?
ЗЗЫ: К "приложениям РЕАЛЬНОГО ВРЕМЕНИ" еще бы архитектуру добавить

[ Это Сообщение было отредактировано: kors в 2003-07-02 13:37 ]


Название: Объясните ламеру, что такое ОС реального времени ?
Отправлено: Evgeniy от Июля 02, 2003, 09:49:00 pm

kors пишет:

PS : под системой программитрования понимался run-time ?
ЗЗЫ: К "приложениям РЕАЛЬНОГО ВРЕМЕНИ" еще бы архитектуру добавить

[ Это Сообщение было отредактировано: kors в 2003-07-02 13:37 ]

Под системой программирования я понимаю комплекс средств, включающий в себя кроме run-time еще и языкпрограммирования и его компиллятор, от которых зависит возможность отимизации. Для примера: С/С++ допускают оптимизацию счетных циклов в меньшей степени, чем Алгол68 - условие окончания цикла надо проверять всегда полностью, т.к. допускается модификация как управляющей переменной так и конечного значения счетчика цикла.

А вот что вы подразумеваете под архитектурой? Архитектуру чего?


Название: Объясните ламеру, что такое ОС реального времени ?
Отправлено: olej от Июля 03, 2003, 01:14:00 am

dmi пишет:
Просто упрощения не приведут к предсказуемости системы. Ввод в ОС РВ фиксированных приоритетов (точнее, я бы сказал, статических, потому как фиксированные – это RMS!) - вполне сознательное требование, чтобы разработчик изначально распределил “веса” задач системы.


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

1. В теории (т.е. в рассуждениях) об ОСРВ, когда всем надоело крутиться вокруг определения "реакция в гарантированное время", одно время пошли по пути определения ОСРВ "каким требованиям должна удовлетворять ОС, чтоб быть ОСРВ?..." и сначала быстренько сформулировали 4 (?) достаточно очевидных критерия:
- наличие достаточно широкой "сетки" приоритетов (64, 128 уровней и более)...
-
-
-
2,3,4 критерии оставляются читателям для самостоятельного отгадывания (они достаточно очевидные - я их, и вправду, забыл, так что так не вспомнить... "на ходу" - но там ничего неординарного нет).

Потом, через пару-тройку лет(!) после вычленения ОСРВ в "отдельную весовую категорию" ... т.е. далеко не сразу - выплыл ... "5-й пункт" : "система шедулирования должна препятствовать эффекту инверсии приоритетов" (с "инверсией приоритетов" - это отдельная история - одни называют "этим словом" сам эффект, а другие - подавление этого эффекта). Кстати, об этот 5-й пункт и разбились надежды WindowsNT на признание realtime... было так неприлично: пришлось даже расчленить понятие на 2: мягкий реалтайм (это, вроде как, "не первая свежесть") и жёсткий реалтайм.

Вопрос к п.1 - так может проще ОСРВ определить не через "какая?", а через "как?"?

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



[ Это Сообщение было отредактировано: Olej в 2003-07-02 22:18 ]


Название: Объясните ламеру, что такое ОС реального времени ?
Отправлено: dmi от Июля 03, 2003, 05:47:00 am
IMHO, лучше обрисовать deadline-driven scheduler в двух словах. Оно интереснее.


Название: Объясните ламеру, что такое ОС реального времени ?
Отправлено: klalafuda от Июля 03, 2003, 05:56:00 am

btw fun link: http://www.oreilly.com/catalog/opensources/book/appa.html

"The Tanenbaum-Torvalds Debate" Solid kernel vs Micro kernel

// wbr


Название: Объясните ламеру, что такое ОС реального времени ?
Отправлено: kors от Июля 03, 2003, 03:59:00 pm

Evgeniy пишет:

kors пишет:

PS : под системой программитрования понимался run-time ?
ЗЗЫ: К "приложениям РЕАЛЬНОГО ВРЕМЕНИ" еще бы архитектуру добавить

[ Это Сообщение было отредактировано: kors в 2003-07-02 13:37 ]

Под системой программирования я понимаю комплекс средств, включающий в себя кроме run-time еще и языкпрограммирования и его компиллятор, от которых зависит возможность отимизации. Для примера: С/С++ допускают оптимизацию счетных циклов в меньшей степени, чем Алгол68 - условие окончания цикла надо проверять всегда полностью, т.к. допускается модификация как управляющей переменной так и конечного значения счетчика цикла.

А вот что вы подразумеваете под архитектурой? Архитектуру чего?


На мой взгляд - язык, как и средства отимизации непосредственно к реалтайму отношение имеют малое. Совершенно не важно, с точки зрения управления, "допускается модификация как управляющей переменной, так и конечного значения счетчика цикла" или не допускается. Все это касается лишь субъективного понятия об удобстве самовыражения. Вообще язык - лишь средство выражения мысли. =)

А под архитектурой я понимаю систему
- функционального деления (функциональная декомпозиция);
- информационных связей и алгоритмов синхронизации выч процессов;
- ...
той системы, которую Вы, собственно, строите поверх ОС.
Именно совокупность архитектуры ОС и архитектуры системы, которую Вы разработаете будет в большей части определять надежность, реалтаймность и прочее (конечно при условии корректной реализации придуманного ).

Ну а язык, язык это вторично, хотя гвозди патефоном забивать, а, конечно, не предлагаю




Название: Объясните ламеру, что такое ОС реального времени ?
Отправлено: kors от Июля 03, 2003, 04:14:00 pm

Olej пишет:

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



Почему же неприличное ? Очень даже логичное предположение. Никакая сетка приоритетов не заменит грамотного проектирования. А коли так, то очень широкая сетка и не нужна. В принципе - 32 уровней 4.X хватало для подавляющего числа задачь. Когда мы делали осрв для распределенных подводных станций мониторинга среды , у нас было 16 уровней и все управляющие процессы чудно работали на средствах синхронизации.

ЗЫ: к тем четырем пунктам - я бы исключил первый =)
Мне думается, что наличие нескольких дисциплин планирования , a la FIFO, RR, в данном случае гораздо полезнее.

офтопик:
Олег, а что с почтой ? или адрес поменялся ? olej@lot.kharkov.ua ?

----- Transcript of session follows -----
olej@lot.kharkov.ua.KAV... Deferred: lot.kharkov.ua.: No route to host
Warning: message still undelivered after 4 hours
Will keep trying until message is 5 days old

есть мысли о статье "Служба времени" =)


Название: Объясните ламеру, что такое ОС реального времени ?
Отправлено: olej от Июля 03, 2003, 06:04:00 pm

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


Так, да не совсем так...
Прежде, чем ... вот это "выражение мысли" - нужно сначала выработать привычку эти вот мысли "продуцировать" ... а вот этот "образ мышления" - он очень сильно определяется теми выразительными средствами, которыми вы пользуетесь. Известно, что 1-й (хронологически) используемый язык программирования, используемый программистом - накладывает неизгладимый стиль на всю его последующую продукцию...

Поищите и почитайте известное "Открытое письмо в IEEE" Э.Дейкстры в котором он требует "...считать обучение программированию на BASIC - уголовным преступлением, с последующими последствиями...". Дэйкстра писал это не 1-го апреля.



Название: Объясните ламеру, что такое ОС реального времени ?
Отправлено: olej от Июля 03, 2003, 06:20:00 pm

kors пишет:
офтопик:
Олег, а что с почтой ? или адрес поменялся ? olej@lot.kharkov.ua ?

----- Transcript of session follows -----
olej@lot.kharkov.ua.KAV... Deferred: lot.kharkov.ua.: No route to host
Warning: message still undelivered after 4 hours
Will keep trying until message is 5 days old
есть мысли о статье "Служба времени" =)


1. - это адрес - служебный ... я на этой "службе" сейчас бываю не чаще max 2-3 раза в неделю;
2. - там у них шлюз Linux в Internet накрылся - видать ещё не починили;
3. - пишите мне лучше: olej@front.ru - оттуда всё равно во все мои адреса - ретранслируют (найдут);
4. - а предмет этот, о котором мысли - мне сильно интересен;
5. - но там и тема соотвествующая есть в форуме - оттуда всё и началось, может туда?


Название: Объясните ламеру, что такое ОС реального времени ?
Отправлено: kors от Июля 03, 2003, 06:36:00 pm

Olej пишет:

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


Так, да не совсем так...
Прежде, чем ... вот это "выражение мысли" - нужно сначала выработать привычку эти вот мысли "продуцировать" ... а вот этот "образ мышления" - он очень сильно определяется теми выразительными средствами, которыми вы пользуетесь. Известно, что 1-й (хронологически) используемый язык программирования, используемый программистом - накладывает неизгладимый стиль на всю его последующую продукцию...

Поищите и почитайте известное "Открытое письмо в IEEE" Э.Дейкстры в котором он требует "...считать обучение программированию на BASIC - уголовным преступлением, с последующими последствиями...". Дэйкстра писал это не 1-го апреля.



Любое утверждение можно довести до абсурда.
Однако же не стоит смешивать проектирование и программирование, как это теперь модно в сентенциях об объектном подходе. Вообще говоря, тот же Дейкстра говорил: "Покажите мне ваши структуры данных и, возможно, мне не потребуется смотреть ваш код". Выразительные средства языка, оптимизация компилятора, etc, могут помогать, но не являются первичным и определяющими факторами успеха разработки системы.

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

"Известно, что 1-й (хронологически) используемый язык программирования, используемый программистом - накладывает неизгладимый стиль на всю его последующую продукцию..." - это не является абсолютной истиной и более справедливо для самообразования. Помимо средств выражения мысли есть еще и общая культура, стиль общения, культура мышления,если хотите.  Первым языком Лермонтова и Агутина (об Агутине, конечно, я делаю лишь предположение =) )  был русский, но какие разительные отличия в самовыражении.

А первое апреля... мне вообще симпатичны люди, которые говорят с юмором вне зависимости от календаря. Продолжая мысль Дейкстры, можно сказать, что преступлением, так же, является и обучение программированию с использованием MFС в рамках ОС Windows, ибо бессистемность API губительно скажется на способности обучаемых мыслить системно...


Название: Объясните ламеру, что такое ОС реального времени ?
Отправлено: kors от Июля 03, 2003, 06:45:00 pm

Olej пишет:
3. - пишите мне лучше: olej@front.ru - оттуда всё равно во все мои адреса - ретранслируют (найдут);
4. - а предмет этот, о котором мысли - мне сильно интересен;


переслал на front.ru  




Название: Объясните ламеру, что такое ОС реального времени ?
Отправлено: olej от Июля 03, 2003, 07:36:00 pm

kors пишет:
переслал на front.ru  


Я .. я (нем.) - пишите мне на фронт...
Забрал, там довольно много, почитаю - пообсуждаем... отвечу.

P.S. А ещё dmi сделал нам такую славную плюшку, как "личные сообщения" на форуме...


[ Это Сообщение было отредактировано: Olej в 2003-07-03 16:41 ]


Название: Объясните ламеру, что такое ОС реального времени ?
Отправлено: zeus от Июля 03, 2003, 07:41:00 pm

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


Ну я вот тут попробовал применить ето утверждение к себе...
1-й хронологически действительно изучавшийся это... Forth...
Какие будут предположения??


Название: Объясните ламеру, что такое ОС реального времени ?
Отправлено: olej от Июля 03, 2003, 08:04:00 pm

zeus пишет:
Ну я вот тут попробовал применить ето утверждение к себе...
1-й хронологически действительно изучавшийся это... Forth...

Ну не следует же всё так прямолинейно... применять
Forth - ну что же - хорошее "стековое" мышление...


Название: Объясните ламеру, что такое ОС реального времени ?
Отправлено: Evgeniy от Июля 03, 2003, 09:02:00 pm

Olej пишет:
Поищите и почитайте известное "Открытое письмо в IEEE" Э.Дейкстры в котором он требует "...считать обучение программированию на BASIC - уголовным преступлением, с последующими последствиями...". Дэйкстра писал это не 1-го апреля.


Аналогичным образом высказывался Ершов (статья кажется называлась "Лексикон программирования"). Цитирую по памяти
"Часто в литературе можно встретить названия типа "Структурное программирование на КОБОЛе". Естественно каждому ясно, что это всего лишь костыли, гуманно предлагаемые людям, искалеченным смолоду..."

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


Название: Объясните ламеру, что такое ОС реального времени ?
Отправлено: Evgeniy от Июля 03, 2003, 10:20:00 pm

klalafuda пишет:

btw fun link: http://www.oreilly.com/catalog/opensources/book/appa.html

"The Tanenbaum-Torvalds Debate" Solid kernel vs Micro kernel

// wbr


Не столько смешно сколько грустно...
В результате у меня сложилось очень нелестное мнение о Таненбауме как о специалисте. Я даже не говорю о смешении понятий "архитектура" и "способ сборки" системы. Даже фактические утверждения не лезут ни в какие ворота: с каких это пор OS/360 собиралась в один файл? Как сейчас помню транзитные библиотеки ядра (типа SYS1.SVCLIB). Да и MSDOS всегда состояла минимум из трех файлов, считая ROM BIOS...
Торвальдс, правда, смотрится не намного лучше со своими заявлениями типа "Да, микроядро лучше, но я все равно делал и буду делать монолит"...

В общем, полный мрак ...


Название: Объясните ламеру, что такое ОС реального времени ?
Отправлено: klalafuda от Июля 03, 2003, 10:28:00 pm

Evgeniy пишет:

klalafuda пишет:

btw fun link: http://www.oreilly.com/catalog/opensources/book/appa.html

"The Tanenbaum-Torvalds Debate" Solid kernel vs Micro kernel

// wbr


Не столько смешно сколько грустно...
В результате у меня сложилось очень нелестное мнение о Таненбауме как о специалисте. Я даже не говорю о смешении понятий "архитектура" и "способ сборки" системы. Даже фактические утверждения не лезут ни в какие ворота: с каких это пор OS/360 собиралась в один файл? Как сейчас помню транзитные библиотеки ядра (типа SYS1.SVCLIB). Да и MSDOS всегда состояла минимум из трех файлов, считая ROM BIOS...
Торвальдс, правда, смотрится не намного лучше со своими заявлениями типа "Да, микроядро лучше, но я все равно делал и буду делать монолит"...

В общем, полный мрак ...


зато, так упомянывается QNX. правда, единожды

// wbr


Название: Объясните ламеру, что такое ОС реального времени ?
Отправлено: kors от Июля 04, 2003, 02:51:00 pm

Evgeniy пишет:
  Торвальдс, правда, смотрится не намного лучше со своими заявлениями типа "Да, микроядро лучше, но я все равно делал и буду делать монолит"...

 "Азартен, Парамоша"(с)


Название: Объясните ламеру, что такое ОС реального времени ?
Отправлено: olej от Июля 04, 2003, 11:56:00 pm
Вот, к требованиям "что есть ОСРВ", и к тем 4-м(?) требованиям, которые в ней должны быть реализованы, чтоб не придумывать, то - что попалось сегодня под руку:

1. Операционные системы реального времени и Windows NT,
Евгений Хухлаев huh@spp.keldysh.ru,
ИПМ им. М. В. Келдыша РАН, Москва
17.05.1997 Открытые системы, #05/1997
Постоянный адрес статьи: http://www.osp.ru/os/1997/05/48.htm

Требование 1. ОС РВ должна быть многонитевой и допускать вытеснение (preemtible). Предсказуемость достигается, если в ОС допускается много параллельных потоков управления (нитей), а диспетчер ОС может прервать выполнение любой нити (вытеснить ее) в системе и предоставить ресурсы той нити, которой они требуются в первую очередь. ОС и аппаратная
архитектура также должны предоставлять множество уровней прерываний, чтобы вытеснение было возможно и на уровне прерываний.

Требование 2. Диспетчеризация должна осуществляться на базе приоритетов. Основная сложность диспетчеризации заключается в том, чтобы обнаружить, какая именно нить нуждается в ресурсах в первую очередь. В идеале ОС РВ предоставляет ресурсы той нити или драйверу, которым осталось меньше всего времени до установленного срока. Чтобы сделать это, ОС должна знать, когда нить обязана завершить свою работу и сколько времени ей
понадобится. Поскольку это очень трудно реализовать, таких ОС пока еще не существует. Поэтому механизм диспетчеризации потоков управления в современных ОС базируется на понятии приоритета: ресурсы предоставляются нити с наивысшим приоритетом.

Требование 3. Механизм синхронизации нитей должен быть предсказуемым. Механизм захвата ресурсов и межнитевых связей необходим, поскольку нити разделяют общие ресурсы.

Требование 4. Должна существовать система наследования приоритетов. Разделение нитями с разными приоритетами общих ресурсов может привести к классической проблеме инверсии приоритетов. Такая проблема возникает, если имеется по крайней мере три нити. Если нить с низшим приоритетом захватит ресурс, разделяемый с нитью высшего приоритета, тогда нить со
средним приоритетом будет выполняться, а нить с высшим приоритетом будет приостановлена до тех пор, пока захваченный ресурс не освободится, что произойдет только тогда, когда нить с низшим приоритетом получит управление и завершит работу, связанную с захваченным ресурсом. В этом случае время, необходимое для завершения нити с высшим приоритетом,
зависит от нити с низшим приоритетом. Этот случай называется инверсией приоритета. Ясно, что в такой ситуации трудно уложиться в заранее установленный лимит времени.

Чтобы избежать этого, ОС РВ должна допускать "наследование" приоритета, подталкивая нить с низшим приоритетом. Наследование приоритета означает, что блокирующая нить наследует приоритет нити, которую она блокирует (конечно, только если последняя обладает более высоким приоритетом).

Требование 5. Временные характеристики ОС должны быть предсказуемы и известны. Разработчик СРВ должен знать, сколько времени затрачивается на ту или иную системную работу. Кроме того, должны быть известны уровни системных прерываний и уровни IRQ (линий запросов прерываний) драйверов устройств, максимальное время, которое они затрачивают и т.п.

Еще одним важным требованием к СРВ является одновременная обработка событий: если несколько событий происходят одновременно, все они должны быть обработаны своевременно. Это означает, что имманентным свойством системы реального времени должен быть параллелизм. Чтобы этого добиться, необходимо установить более одного процессора или придерживаться многозадачного подхода.

2. ОПЕРАЦИОННЫЕ СИСТЕМЫ РЕАЛЬНОГО ВРЕМЕНИ
Жданов А.А., ЗАО "РТСофт"
(доклад из сборника докладов одной из конференций,URL которого указан где-то здесь в форуме Олегом Плезером).

1) Система должна успеть отреагировать на событие, произошедшее на объекте, в течение времени, критического для этого события (meet deadline). Величина критического времени для каждого события определяется объектом и самим событием, и, естественно, может быть разной, но время реакции системы должно быть предсказано (вычислено) при создании системы. Отсутствие реакции в предсказанное время считается ошибкой для систем реального
времени.

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

3. "Проект 'Neutrino': В поисках Святого Грааля" И. Н. Коваленко, 1997 - это большинство знают:

1. Система должна реагировать на события, успевая обработать их за фиксированное время или к фиксированному моменту времени (далее - "временные рамки'); Для выполнения этого требования система должна обладать предсказуемостью, которую не следует путать с производительностью. Никакой процессор не сделает Windows 3.1 предсказуемой.

2. Система должна обладать способностью к параллельной обработке нескольких событий. Если несколько событий наступают одновременно, система должна успеть обработать все события в соответсвующих каждому событию временных рамках, независимо от количества событий, порядка их поступления и соотношения их временных рамок. Для выполнения этого требования система должна обладать естественным параллелизмом. Практически это означает, что система должна поддерживать вытесняющую многозадачность, основанную на приоритетах, а также
быть способной использовать нескольно процессоров одновременно.

В то-же время, можно взять некоторую ОС и на ее основе создать систему реального времени. При условии, что такая ОС отвечает по крайней мере следующим требованиям:

1. ОС должна поддерживать вытесняющую многопоточность (preemptive multi-threading) и мультипроцессорные архитектуры;

2. Аппаратная архитектура должна поддерживать несколько уровней прерываний (interrupt levels) а ОС должна обеспечивать вытеснение (preemption) обработчиков прерываний;

3. Каждая нить управления (thread) должна иметь способ выражения собственной важности. В идеале планировщик должен предоставлять процессор той нити, у которой осталось меньше всего времени до исчерпания ее временных рамок (алгоритм, известный как EDF - Earliest Deadline First). Однако, учитывая сложность реализации такой схемы, можно считать достаточным наличие приоритетов у нитей, при условии поддержки достаточно большого количества уровней приоритетов;

4. ОС должна обеспечивать предсказуемые механизмы для синхронизации между нитями и взаимодействия процессов, разрешающие проблему 'инверсии приоритетов'. Это означает, что как при передаче данных, так и при синхронизации нитей должно обеспечиваться 'наследование приоритетов'.

5. Поведение самой ОС после системных вызовов и наступления событий должно быть предсказуемо и известно заранее. Это означает, что разработчики ОС должны специфицировать такие временные характеристики, как 'задержка обработки прерывания' (interrupt latency), максимальное время маскировки прерываний а также максимальное время исполнения всех системных вызовов.

6. ОС должна быть способна работать в ограниченных ресурсах, особенно это касается оперативной памяти;

7. Стоимость системы при массовых тиражах должна быть достаточно низкой;

8. ОС должна обеспечивать API и нижележащий сервис, соответствующий по структуре и реализации требованиям систем реального времени;

В общем - практически совпадает... и одновременно: как-то всё сильно обще...


Название: Объясните ламеру, что такое ОС реального времени ?
Отправлено: kors от Июля 07, 2003, 06:24:00 pm

Olej пишет:
В общем - практически совпадает... и одновременно: как-то всё сильно  обще...



Дык сторонних факторов очень много.

Добавил бы еще один аспект - умение планировщика бороться с дедлоками.
Или "поддержка механизмов предотвращения, обнаружения и устранения дедлоков". Свойство опциональное, но весьма полезное.


Название: Объясните ламеру, что такое ОС реального времени ?
Отправлено: vlad от Июля 08, 2003, 08:57:00 am

kors пишет:
Добавил бы еще один аспект - умение планировщика бороться с дедлоками.
Или "поддержка механизмов предотвращения, обнаружения и устранения дедлоков". Свойство опциональное, но весьма полезное.

тут более важно умение разработчика бороться с ними


Название: Объясните ламеру, что такое ОС реального времени ?
Отправлено: Evgeniy от Июля 09, 2003, 11:14:00 am

kors пишет:
Добавил бы еще один аспект - умение планировщика бороться с дедлоками.
Или "поддержка механизмов предотвращения, обнаружения и устранения дедлоков". Свойство опциональное, но весьма полезное.



А это как? Насколько мне известно, в общем случае клинчи автоматически обнаруживаются только в очень узком классе механизмов синхронизации и при соблюдении достаточно жестких ограничений на их применение. Так например клинчи на семафорах Дейкстры должны обнаруживаться в программах на Алголе 68 (требование стандарта языка). А вот колинчи на адовском рандеву, на сколько я понимаю, обнаруживать весьма проблематично. Ну а предотвращение/устранение... лично мне, даже на уровне идеи (в смысле "иде я нахожуся") не понятно что должно означать: прекращение одного(какого?) или всех из заблокировавшихся процессов? А может выдача какой-то разблокировки ресурса? Чепуха какая-то И все это только средствами run-time без всяких ограничений со стороны системы программирования!...
Нет, думаю, что больше чем на флейм это не тянет

[ Это Сообщение было отредактировано: Evgeniy в 2003-07-09 08:15 ]


Название: Объясните ламеру, что такое ОС реального времени ?
Отправлено: vlad от Июля 09, 2003, 12:01:00 pm
да скорее всего имелось ввиду обычное наследование приоритетов


Название: Объясните ламеру, что такое ОС реального времени ?
Отправлено: kors от Июля 09, 2003, 06:03:00 pm

vlad пишет:

kors пишет:
Добавил бы еще один аспект - умение планировщика бороться с дедлоками.
Или "поддержка механизмов предотвращения, обнаружения и устранения дедлоков". Свойство опциональное, но весьма полезное.

тут более важно умение разработчика бороться с ними

Несомненно... умение разработчика вообще важная деталь =)


Название: Объясните ламеру, что такое ОС реального времени ?
Отправлено: kors от Июля 09, 2003, 06:04:00 pm

Evgeniy пишет:

kors пишет:
Добавил бы еще один аспект - умение планировщика бороться с дедлоками.
Или "поддержка механизмов предотвращения, обнаружения и устранения дедлоков". Свойство опциональное, но весьма полезное.



А это как? Насколько мне известно, в общем случае клинчи автоматически обнаруживаются только в очень узком классе механизмов синхронизации и при соблюдении достаточно жестких ограничений на их применение. Так например клинчи на семафорах Дейкстры должны обнаруживаться в программах на Алголе 68 (требование стандарта языка). А вот колинчи на адовском рандеву, на сколько я понимаю, обнаруживать весьма проблематично. Ну а предотвращение/устранение... лично мне, даже на уровне идеи (в смысле "иде я нахожуся") не понятно что должно означать: прекращение одного(какого?) или всех из заблокировавшихся процессов? А может выдача какой-то разблокировки ресурса? Чепуха какая-то И все это только средствами run-time без всяких ограничений со стороны системы программирования!...
Нет, думаю, что больше чем на флейм это не тянет



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

PS. Вы, вероятно, читали Кейлингерта "Элементы ОС" ... я просто напомню -  там есть такие главы...


[ Это Сообщение было отредактировано: kors в 2003-07-09 15:12 ]


Название: Объясните ламеру, что такое ОС реального времени ?
Отправлено: kors от Июля 09, 2003, 06:14:00 pm

vlad пишет:
да скорее всего имелось ввиду обычное наследование приоритетов

интересно, как это могло бы помочь... обычное наследование...

[ Это Сообщение было отредактировано: kors в 2003-07-09 16:22 ]


Название: Объясните ламеру, что такое ОС реального времени ?
Отправлено: lestat от Июля 09, 2003, 06:40:00 pm

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

Упаси бог, чтобы в рабочей системе был кэтчер дедлоков и race condition. Проще сразу на шнурке от мышки повеситься.

В QNX 6.2 PE есть инструментальное ядро и SDK для работы с ним, с ним и SAT от Eclipse IDE работает, очень удобная вещь. Да, это полезно при отладке, но не более того ... В любой серьезной операционке есть такие средства, та же W2K checked build с набором средств для отладки ничем не уступает SAT'у ...

http://qnx.wox.org/sat/io-net-EAGAIN.jpg
http://qnx.wox.org/sat/ssh-ionotify.jpg
http://qnx.wox.org/sat/ssh-ionotify2.jpg


Название: Объясните ламеру, что такое ОС реального времени ?
Отправлено: kors от Июля 09, 2003, 07:40:00 pm

lestat пишет:

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

Упаси бог, чтобы в рабочей системе был кэтчер дедлоков и race condition. Проще сразу на шнурке от мышки повеситься.



повеситься всегда проще, но к сожалению нельзя делать это для каждого затруднительного случая.

1. кетчер и race condition могут быть весьма полезны при отладке и, естетсвенно, утяжеляют целевую систему (трудно не согласиться ), потому я и писал о них как об опциональных стредствах (см.выше.). Естественно, их наличие накладывает отпечаток на работу с ресурсами, утяжеляет планировщик и т.д., однако для некоторых классов долгоживущих автономных систем они нужны. Вы когда нибудь давали гарантии, что разработанная группой участников целевая система после тестирования (пусть с SAC или еще чем) не содержит ошибок ?
А теперь представте, что она будет работать лет 5 без касательства человека ? Наличие кетчера в целевой такой системе повышает вероятность сохранения ее хотя бы частичной работоспособности. И если из-за этого кто-то повесится.... жаль, конечно
2. Обнаружение и устранение - отдельная задача от предотвращения. Не надо их смешивать. В моей рабочей системе были средства предотвращения и, как показала практика, оказались очень кстати.


Название: Объясните ламеру, что такое ОС реального времени ?
Отправлено: lestat от Июля 09, 2003, 08:37:00 pm

А теперь представте, что она будет работать лет 5 без касательства человека ? Наличие кетчера в целевой такой системе повышает вероятность сохранения ее хотя бы частичной работоспособности. И если из-за этого кто-то повесится.... жаль, конечно
2. Обнаружение и устранение - отдельная задача от предотвращения. Не надо их смешивать. В моей рабочей системе были средства предотвращения и, как показала практика, оказались очень кстати.

Еще раз повторюсь - упаси бог такое в целевой системе использовать Что значит "предотвращение" ? Что-то вроде watchdog'а в планировщике ? Ок, ну допустим вошли в deadlock. Что дальше ? Откуда планировщик знает что ему растормозить (какой поток из нескольких) и что произойдет, если поток растормозиться не тот - повреждение данных, неверная работа, опять deadlock ? Как по мне так пусть лучше оно сирену пнет, чтобы народ сбежался, чем такое "интеллектуальное" вмешательство ...

А у разработчика голова на что ? А тестирование, обкат, испытания ? Хотя решение данной проблемы носит чисто математический характер, в MSDN была хорошая статья по этому поводу "Detecting Deadlocks in Multithreaded Win32 Applications" ... во - нашел:

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dndllpro/html/msdn_deadlock.asp



Название: Объясните ламеру, что такое ОС реального времени ?
Отправлено: kors от Июля 09, 2003, 09:03:00 pm

lestat пишет:

А теперь представте, что она будет работать лет 5 без касательства человека ? Наличие кетчера в целевой такой системе повышает вероятность сохранения ее хотя бы частичной работоспособности. И если из-за этого кто-то повесится.... жаль, конечно
2. Обнаружение и устранение - отдельная задача от предотвращения. Не надо их смешивать. В моей рабочей системе были средства предотвращения и, как показала практика, оказались очень кстати.


Еще раз повторюсь - упаси бог такое в целевой системе использовать Что значит "предотвращение" ? Что-то вроде watchdog'а в планировщике ? Ок, ну допустим вошли в deadlock. Что дальше ? Откуда планировщик знает что ему растормозить (какой поток из нескольких) и что произойдет, если поток растормозиться не тот - повреждение данных, неверная работа, опять deadlock ? Как по мне так пусть лучше оно сирену пнет, чтобы народ сбежался, чем такое "интеллектуальное" вмешательство ...

А у разработчика голова на что ? А тестирование, обкат, испытания ? Хотя решение данной проблемы носит чисто математический характер, в MSDN была хорошая статья по этому поводу "Detecting Deadlocks in Multithreaded Win32 Applications" ... во - нашел:

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dndllpro/html/msdn_deadlock.asp




Еще раз повторюсь... если люди там не живут, то сирена может орать сколько угодно.

Еще раз повтрюсь - тестирование не дает гарантий. Только вероятность.


Еще раз повторюсь - не надо путать _предотвращение_ и _устранение_.

Например КЛАССИЧЕСКИМ механизмом (одним из) предотвращения дедлоков является _предварительное резервирование ресурсов_.
В примитиве - системный вызов, передающий список ресурсов, которые потребуются приложению в этом фрагменте. Далее процесс попадает в состояние ожидания, когда все эти ресурсы освободятся. После чего ресурсы закрепляются планировщиком за процессом и процесс ставится на выполнение.
Ресурсы в данном случае понятие общее, ресурсы ос, аппаратные ресурсы....
В более простых реализациях такое описание связывается с процессом, а не с его фрагментом и процесс вообще не ставится на выполнение, если какой-либо из ресурсов занят. А вот далее уже используется watchdog. Процесс, время работы которого превысило лимит (в секции предварительного резервирования) может быть снят с выполнения навсегда.

Давайте рассмотрим тривиальные примеры. Я обращаю ваше внимание, что примеры тривиальны. Процесс А и Процесс B, обслуживающие подсистему П1, находятся в состоянии дедлока. При этом процесс B занял ресурс, обеспечивающий обмен с внешней средой. Просесс С, обслуживающий подсистему П2, должен передать нечто по каналу обмена - и что ? Подсистемы П1 и П2 - легли... Включаем сирену и ждем следующую экспидицию на марс ?
В нашем случае процессы A и B устраняются из системы... подсистема П1 - легла, П2 - работает.

ЗЫ: пример максимально упрощен.


Название: Объясните ламеру, что такое ОС реального времени ?
Отправлено: lestat от Июля 09, 2003, 09:18:00 pm

Давайте рассмотрим тривиальные примеры. Я обращаю ваше внимание, что примеры тривиальны. Процесс А и Процесс B, обслуживающие подсистему П1, находятся в состоянии дедлока. При этом процесс B занял ресурс, обеспечивающий обмен с внешней средой. Просесс С, обслуживающий подсистему П2, должен передать нечто по каналу обмена - и что ? Подсистемы П1 и П2 - легли... Включаем сирену и ждем следующую экспидицию на марс ?
В нашем случае процессы A и B устраняются из системы... подсистема П1 - легла, П2 - работает.

Маразм Ну сняли два процесса Что дальше ? П2 работает хоть до второго пришествия, П1 уже начинает разлагаться ... от давней мертвости.

Или еще есть супервизоровский П3, который контролирует работу П1 и П2 ? И переодически подрабатывает воскресителем ? Ок, тогда нафига нужна такая фича в планировщике, П3 может и сам грохнуть повисший процесс, достаточно реализовать простенький heartbeat в П1 и П2, которые анализирукт П3. Зачем же сюда планировщик приплетать ?


Название: Объясните ламеру, что такое ОС реального времени ?
Отправлено: kors от Июля 09, 2003, 09:32:00 pm

lestat пишет:

Давайте рассмотрим тривиальные примеры. Я обращаю ваше внимание, что примеры тривиальны. Процесс А и Процесс B, обслуживающие подсистему П1, находятся в состоянии дедлока. При этом процесс B занял ресурс, обеспечивающий обмен с внешней средой. Просесс С, обслуживающий подсистему П2, должен передать нечто по каналу обмена - и что ? Подсистемы П1 и П2 - легли... Включаем сирену и ждем следующую экспедицию на марс ?
В нашем случае процессы A и B устраняются из системы... подсистема П1 - легла, П2 - работает.

Маразм Ну сняли два процесса Что дальше ? П2 работает хоть до второго пришествия, П1 уже начинает разлагаться ... от давней мертвости.

Или еще есть супервизоровский П3, который контролирует работу П1 и П2 ? И переодически подрабатывает воскресителем ? Ок, тогда нафига нужна такая фича в планировщике, П3 может и сам грохнуть повисший процесс, достаточно реализовать простенький heartbeat в П1 и П2, которые анализирукт П3. Зачем же сюда планировщик приплетать ?



Я начинаю сомневаться, что у нас все хорошо с кодировкой...вы читаете все целиком ? или только ключевые слова

1. П1 и П2 в моем примере были подсистемами, а не процессами. В чем разница, полагаю, объяснять не надо.

2. Вы на каждую пару супервизор пишите ? Вообще говоря тут начинается обсуждение реализации прикладниками всего своими руками... это уже становится скучно...а ваш П3 должен быть идеальным процессом.
Наверно Вы и семафорами не пользуетесь - давно свой менеджер написали

3."П2 работает хоть до второго пришествия" - иногда уже это окупает все остальные сложности. Вы не сталкивались с такими системами ? жаль , а может и нет

PS: с разницей между предотвращением и устранением мы разобрались ?

[ Это Сообщение было отредактировано: kors в 2003-07-09 18:42 ]


Название: Объясните ламеру, что такое ОС реального времени ?
Отправлено: kors от Июля 09, 2003, 09:35:00 pm

lestat пишет:
Маразм Ну сняли два процесса Что дальше ? П2 работает хоть до второго пришествия, П1 уже начинает разлагаться ... от давней мертвости.


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


Название: Объясните ламеру, что такое ОС реального времени ?
Отправлено: lestat от Июля 09, 2003, 09:47:00 pm

Я начинаю сомневаться, что у нас все хорошо с кодировкой...вы читаете все целиком ? или только ключевые слова

Угу, только кое-кому нужно был дать определение "подсистемы". ... я ей могу обозвать пол машинного зала, так и один поток ...

1. П1 и П2 в моем примере были подсистемами, а не процессами. В чем разница, полагаю, объяснять не надо.

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

2. Вы на каждую пару супервизор пишите ? Вообще говоря тут начинается обсуждение реализации прикладниками всего своими руками... это уже становится скучно...а ваш П3 должен быть идеальным процессом.

Да, не гнушаемся супервизоров в этом понимании. А вообще-то мы все это барахло тестируем: комплексные, системные, модульные, интеграционные тесты, Rational Purify/Coverage помогает + еще десяток софтинок помельче ... а извините полагаться на планировщик - это, что богу молиться, только атеист я ... поэтому софтинку отлаживать надо, чтобы дедлоков не было ... статьи, что я указал в MSDN небось не прочли, я так понял ? Если вы не верите, что я могу гарантировать остутствие deadlock'ов в наших программах, мне очень жаль, ибо это не есть сложная проблема, есть гораздо сложнее ... а это - детская плюшка ...

3."П2 работает хоть до второго пришествия" - иногда уже это окупает все остальные сложности. Вы не сталкивались с такими системами ? жаль , а может и нет

Да, я не сталкивался с системами, в которых я не могу контролировать выполнение кода, а это именно то - полная безконтрольность ситуации. С какой стати я должен доверять такому планировщику ?

PS: с разницей между предотвращением и устранением мы разобрались ?

головой устранять нужно а не молотком выравнивать гнущиеся части ...


Название: Объясните ламеру, что такое ОС реального времени ?
Отправлено: lestat от Июля 09, 2003, 09:54:00 pm

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

Угу, как глаз, болтающийся на нерве, все еще видит, но полностью бесполезен ...


Название: Объясните ламеру, что такое ОС реального времени ?
Отправлено: kors от Июля 09, 2003, 10:29:00 pm

lestat пишет:

1. П1 и П2 в моем примере были подсистемами, а не процессами. В чем разница, полагаю, объяснять не надо.

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


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




2. Вы на каждую пару супервизор пишите ? Вообще говоря тут начинается обсуждение реализации прикладниками всего своими руками... это уже становится скучно...а ваш П3 должен быть идеальным процессом.

  Да, не гнушаемся супервизоров в этом понимании.


наверно интересно изобретать велосипед...



А вообще-то мы все это барахло тестируем: комплексные, системные, модульные, интеграционные тесты, Rational Purify/Coverage помогает + еще десяток софтинок помельче ... а извините полагаться на планировщик - это, что богу молиться, только атеист я ... поэтому софтинку отлаживать надо,


головой устранять нужно а не молотком выравнивать гнущиеся части ...



Хорошо, наверно, живется в идеальном мире... когда всегда есть сирена и оператор с молотком, который тут же подбежит  по полу машинного зала...


... статьи, что я указал в MSDN небось не прочли,


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

кстати, было время, когда объекты синхронизации в MFC содержали ошибки...
часть из них выявлена, но не исключено, что часть осталась - они тоже учитываются в ваших сетях ?



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


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


3."П2 работает хоть до второго пришествия" - иногда уже это окупает все остальные сложности. Вы не сталкивались с такими системами ? жаль , а может и нет



  Да, я не сталкивался с системами, в которых я не могу контролировать    
  выполнение кода, а это именно то - полная безконтрольность ситуации.
  С  какой стати я должен доверять такому планировщику ?

С какой стати вы доверяете своему менеджеру ? Потому что он ваш ? Любой оптимизим должен иметь пределы.

Не надо бросаться в крайности, полное и частичное - разные категории.

А что катается контроля, то ваш анализ осуществляется при условии того, что аппаратура и окружающая среда ведут себя так, как вы предполагаете,  отклонения в поведении такие, как вы предполагаете, данные/код не изменяются без вашего ведома под действием внешней среды и т.д.
Вы работаете с моделью, которая описывает системы с доступной вам степенью детализации и достоверности. И вы предполагаете, что модель достаточно робастна к неучтенным вами особенностям и деталям. Я рад что ваши системы удовлетворяют всем этим требованиям, т.е. рад за ваших заказчиков =)


Название: Объясните ламеру, что такое ОС реального времени ?
Отправлено: kors от Июля 09, 2003, 10:31:00 pm

lestat пишет:

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

Угу, как глаз, болтающийся на нерве, все еще видит, но полностью бесполезен ...


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


Название: Объясните ламеру, что такое ОС реального времени ?
Отправлено: Evgeniy от Июля 10, 2003, 09:01:00 am
Нет, не верю я в то, что какой-то даже самый умный супервизор, который ничерта не знает о прикладной системе, способен безопасно и корректно разрешить взаимную блокировку некоторой совокупности процессов - для этого вам необходимо сообщить этому славному супервизору какую-то информацию о процессах и возможных аварийных ситуациях и предпочтениях - т.е. фактически написать программу, которая, в частности, тоже может содержать ошибки Более того, вы можете сообщить ему только свое понимание возможных проблем, а значит уже, вероятно, можете предусмотреть их в своих основных программах...

С предварительным захватом ресурсов в свое время я накувыркался в ОС ЕС (OS/360), когда система не могла запустить задание (не хватало ресурсов), но не имела ресурсов, чтобы удалить это зависшее задание...

А в MFC ошибки в приметивах синхронизации оставались и в VisualStudio 6 и, я так думаю, что исправить их нельзя - часть из них на уровне идеологии и их исправление нарушит обратную совместимость

[ Это Сообщение было отредактировано: Evgeniy в 2003-07-10 06:03 ]


Название: Объясните ламеру, что такое ОС реального времени ?
Отправлено: lestat от Июля 10, 2003, 11:53:00 am

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

О супервизоре, о котором говорил я - это фактически процесс-инициатор по принципу - я породил, я и убью ... только контроль за child'ами - не более того.

кстати многие именитые производители ПО следуют подобному принципу - программные watchdog'и. Лучше перебдеть ...


Название: Объясните ламеру, что такое ОС реального времени ?
Отправлено: lestat от Июля 10, 2003, 12:05:00 pm

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

Ок, теперь лучше



  Да, не гнушаемся супервизоров в этом понимании.

наверно интересно изобретать велосипед...

Не интереснее чем планировщик-киллер - самокат с треугольными колесами ...



А вообще-то мы все это барахло тестируем: комплексные, системные, модульные, интеграционные тесты, Rational Purify/Coverage помогает + еще десяток софтинок помельче ... а извините полагаться на планировщик - это, что богу молиться, только атеист я ... поэтому софтинку отлаживать надо,
головой устранять нужно а не молотком выравнивать гнущиеся части ...

Хорошо, наверно, живется в идеальном мире... когда всегда есть сирена и оператор с молотком, который тут же подбежит  по полу машинного зала...

Все беды от незнания инструментария.


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

Угу, если хреново спроектировать программу, то и не до такого можно дойти ...


А вы вот до Кейлингерта, видимо, не добрались...

Увы, предпочитаю голой теории - практику ...


кстати, было время, когда объекты синхронизации в MFC содержали ошибки...
часть из них выявлена, но не исключено, что часть осталась - они тоже учитываются в ваших сетях ?

Кто сказал что я под MFC пишу ? Я винду использую как кросскомпиляторную платформу, параллельно комипиля под винду и любой target. Потому что в винде средств больше.


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

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


С какой стати вы доверяете своему менеджеру ? Потому что он ваш ? Любой оптимизим должен иметь пределы.

Какой такой менеджер ? Мы говорим про умный планировщик, а не про обычный софтовый watchdog.


А что катается контроля, то ваш анализ осуществляется при условии того, что аппаратура и окружающая среда ведут себя так, как вы предполагаете,  

Ну про аппаратуру я бы промолчал - это неподконтрольное.

отклонения в поведении такие, как вы предполагаете, данные/код не изменяются без вашего ведома под действием внешней среды и т.д.
Вы работаете с моделью, которая описывает системы с доступной вам степенью детализации и достоверности. И вы предполагаете, что модель достаточно робастна к неучтенным вами особенностям и деталям. Я рад что ваши системы удовлетворяют всем этим требованиям, т.е. рад за ваших заказчиков =)

Вообще-то это классика ...


Название: Объясните ламеру, что такое ОС реального времени ?
Отправлено: kors от Июля 10, 2003, 01:41:00 pm

lestat пишет:
Ок, теперь лучше

  Ну наконец-то, добежало




А вы вот до Кейлингерта, видимо, не добрались...

lestat пишет:

  Увы, предпочитаю голой теории - практику ...


И в самом деле увы...
Вы, вероятно, не читатель, Вы - писатель...




кстати, было время, когда объекты синхронизации в MFC содержали ошибки...
часть из них выявлена, но не исключено, что часть осталась - они тоже учитываются в ваших сетях ?

lestat пишет:

 Кто сказал что я под MFC пишу ? Я винду использую как    кросскомпиляторную платформу, параллельно комипиля под винду и любой target. Потому что в винде средств больше.



Дело не в винде, а в самом факте. Постарайтесь научиться отличать частное от общего.


kors пишет:
А что катается контроля, то ваш анализ осуществляется при условии того, что аппаратура и окружающая среда ведут себя так, как вы предполагаете,  



  lestat пишет:

Да, я не сталкивался с системами, в которых я не могу контролировать выполнение кода,

  lestat пишет:

Ну про аппаратуру я бы промолчал - это неподконтрольное.



Вы уж как-нить определитесь, где подконтрольное, а где помолчать...



lestat пишет:
 А у разработчика голова на что ? А тестирование, обкат, испытания ? Хотя
 решение данной проблемы носит чисто математический характер,

lestat пишет:
 кстати многие именитые производители ПО следуют подобному принципу -  
 программные watchdog'и. Лучше перебдеть ...


мда... нет единства в чьих-то рядах...




kors пишет:

отклонения в поведении такие, как вы предполагаете, данные/код не изменяются без вашего ведома под действием внешней среды и т.д.
Вы работаете с моделью, которая описывает системы с доступной вам степенью детализации и достоверности. И вы предполагаете, что модель достаточно робастна к неучтенным вами особенностям и деталям. Я рад что ваши системы удовлетворяют всем этим требованиям, т.е. рад за ваших заказчиков =)


lestat пишет:
 Вообще-то это классика ...



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

PS: обсуждение перешло в спор, Вы поставили себе целью доказать свою точку зрения, а не обсудить. Дальнейшая полемика в подобном духе  не представляет интереса.


Название: Объясните ламеру, что такое ОС реального времени ?
Отправлено: kors от Июля 10, 2003, 02:01:00 pm

Evgeniy пишет:
Нет, не верю я в то, что какой-то даже самый умный супервизор, который ничерта не знает о прикладной системе, способен безопасно и корректно разрешить взаимную блокировку некоторой совокупности процессов - для этого вам необходимо сообщить этому славному супервизору какую-то информацию о процессах и возможных аварийных ситуациях и предпочтениях - т.е. фактически написать программу, которая, в частности, тоже может содержать ошибки Более того, вы можете сообщить ему только свое понимание возможных проблем, а значит уже, вероятно, можете предусмотреть их в своих основных программах...

С предварительным захватом ресурсов в свое время я накувыркался в ОС ЕС (OS/360), когда система не могла запустить задание (не хватало ресурсов), но не имела ресурсов, чтобы удалить это зависшее задание...


ну... OS/360 была не без недостатков... но это недостатки реализации.

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


Evgeniy пишет:

А в MFC ошибки в приметивах синхронизации оставались и в VisualStudio 6 и, я так думаю, что исправить их нельзя - часть из них на уровне идеологии и их исправление нарушит обратную совместимость

Да в стандартной поставке VC6 они есть, но где-то на сайте есть пак к ним.
Сейчас не помню где (за ненадобностью), но если кому интересно...можно найти. Я говорю о том, что определенная последовательность вызовов примитивов объектов синхронизации приводила к ексепшену. Т.е. с обратной совместимостью это не связано. Одним из таких объектов был  CEvent, если не ошибаюсь.



Название: Объясните ламеру, что такое ОС реального времени ?
Отправлено: lestat от Июля 10, 2003, 02:03:00 pm

И в самом деле увы...
Вы, вероятно, не читатель, Вы - писатель...

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

Дело не в винде, а в самом факте. Постарайтесь научиться отличать частное от общего.

Ну, ну ...

Да, я не сталкивался с системами, в которых я не могу контролировать выполнение кода,
Ну про аппаратуру я бы промолчал - это неподконтрольное.

Не надо подменять понятия - контроль выполнения софта, и работы железа это две разные вещи.

 А у разработчика голова на что ? А тестирование, обкат, испытания ? Хотя
 решение данной проблемы носит чисто математический характер,
 кстати многие именитые производители ПО следуют подобному принципу -  
 программные watchdog'и. Лучше перебдеть ...

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

Можно соблюдать технику безопасности и ходить без каски, а можно и в каске, только все равно упавший кирпич убъет ...


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

Это слова. Не более ...


PS: обсуждение перешло в спор, Вы поставили себе целью доказать свою точку зрения, а не обсудить. Дальнейшая полемика в подобном духе  не представляет интереса.

Я бы сказал не спор - а флейм,  [ Евгений вы были правы, на больше чем на флэйм это не тянет ]


Название: Объясните ламеру, что такое ОС реального времени ?
Отправлено: kors от Июля 10, 2003, 02:09:00 pm

lestat пишет:
Не надо подменять понятия - контроль выполнения софта, и работы железа это две разные вещи.

 Есть одно понятие - живучесть целевой системы...


Название: Объясните ламеру, что такое ОС реального времени ?
Отправлено: Evgeniy от Июля 11, 2003, 04:56:00 am

lestat пишет:

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

О супервизоре, о котором говорил я - это фактически процесс-инициатор по принципу - я породил, я и убью ... только контроль за child'ами - не более того.

кстати многие именитые производители ПО следуют подобному принципу - программные watchdog'и. Лучше перебдеть ...



Кргда вы говорите о специальном "супервизоре", который сделан для вашей конкретной системы управления с учетом ее задач и поведения, с учетом специфики объекта управления - у меня вопросов нет. Мы сами делали такую подсистему управления функционированием системы управления Я сомневаюсь по поводу "универсального" супервизора в составе ОС, который ничего не знает о вашем объекте


Название: Объясните ламеру, что такое ОС реального времени ?
Отправлено: Evgeniy от Июля 11, 2003, 08:21:00 am

lestat пишет:

PS: обсуждение перешло в спор, Вы поставили себе целью доказать свою точку зрения, а не обсудить. Дальнейшая полемика в подобном духе  не представляет интереса.

Я бы сказал не спор - а флейм,  [ Евгений вы были правы, на больше чем на флэйм это не тянет ]



Хотя флейм это тоже неплохо , но мне все-таки хочется понять...

Итак, исходная позиция: возможно универсальное средство уровня [ядра] ОС, которое должно обнаруживать и устранять клинчи программных процессов (в общем смысле, а не в смысле UNIX)  - о корректности такого устранения можно будет говорить тогда, когда договоримся о самом средстве
При этом предполагается, что такое средство никак не связано с системами программирования, применяемыми при разработке системы управления.

Что у меня вызывает сомнение...

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

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

Я был бы очень признателен kors (судя по всему вы специально занимались этим вопросом), если бы вы в самых общих чертах обрисовали возможное решение. Это без всякого флейма и шуток действительно интересно

[ Это Сообщение было отредактировано: Evgeniy в 2003-07-11 05:23 ]


Название: Объясните ламеру, что такое ОС реального времени ?
Отправлено: Evgeniy от Июля 21, 2003, 08:00:00 am
Недавно наткнулся на небезинтересное интервью Криса Мк-Килопа (Chris McKillop), в котором есть ряд интересных моментов по поводу темы этого обсуждения:
http://www.osnews.com/story.php?news_id=4024


Название: Объясните ламеру, что такое ОС реального времени ?
Отправлено: int19h от Июля 21, 2003, 01:07:00 pm


А в MFC ошибки в приметивах синхронизации оставались и в VisualStudio 6 и, я так думаю, что исправить их нельзя - часть из них на уровне идеологии и их исправление нарушит обратную совместимость

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


Скромно так напомню, что с 98-го года вышли уже две новые версии Visual Studio - 2002 и 2003. Соответственно и MFC сменил номер версии дважды (ныне 7.1).

Это так, к слову. Небольшой перерыв в битве титанов =)
[No offence intended - действительно интересно читать!]


Название: Объясните ламеру, что такое ОС реального времени ?
Отправлено: olej от Октября 03, 2003, 09:45:00 pm
Попалась тут ссылочка: http://www.uspensky.com/os/RTOS.doc - статья так-себе..., но обратила на себя внимание там Таблица 1.9.1, в конце...
Сравнительные характеристики (тоже "смазанные") по:
- Linux OS (имеется в виду RTLinux);
- OS-9;
- QNX (4.25, т.е. все цифры ещё по ней);
- VX Works (скопировано с таблицы);
- Windows RTX (надстройка над Win NT);

На что мне обратилось внимание? Там есть такая позиция: "Проинсталлировано версий" (? o-:) - но, в общем, понятно, что автор хотел сказать - "число проданных лицензий"..., и, понятно, что цифры он не придумывал, а откуда-то скопировал. Вот они, в том же порядке, что и OS:

300000+ - 5000+ - 350000(QNX) - 20000(VxWorks) - Млллионы

Оставим на совести автора вот те "миллионы"... меня интересуют только 2 позиции: 3-я и 4-я:

вопрос!
- как сочетаются вот эти числа инсталляций (или лицензий), с тиражируемым WindRiver мнением (и не раз звучавшим здесь на форуме), что VxWorks - самая используямая RTOS, заметно превосходящая по внедрениям (использованиям) остальные?

P.S. Кстати, совсем недавно я в совершенно другом источнике встречал другую цифру именно проданных лицензий QNX (за всё её время жизни) - 400000. Легко видеть, что эти цифры: 350000-400000 - где-то близко к истине.



Название: Объясните ламеру, что такое ОС реального времени ?
Отправлено: Evgeniy от Октября 04, 2003, 02:11:00 am
Олег! Я совершенно не поннимаю что означает "число проданых лицензий" особенно применительно к системам, для которых политика лицензирования аналогична QSSL - если речь идет о системах для разработчика, то цифра в 300000-400000 тысяч мне понятна. Но если считать лицензии на run-time, то она выглядит просто смешной - ведь устройства часто выпускаются миллионными тиражами и на каждый экземпляр каждого программного модуля по существу своя лицензия.
Вся эта арифметика мне очень напоминает стиль отчетов какого-нибудь PCMagazin, когда совершенно не понятно что с чем сравнивается и по какой методе тестировалось.


Название: Объясните ламеру, что такое ОС реального времени ?
Отправлено: olej от Октября 05, 2003, 03:43:00 pm

Evgeniy пишет:
Олег! Я совершенно не поннимаю что означает "число проданых лицензий" особенно применительно к системам, для которых политика лицензирования аналогична QSSL - если речь идет о системах для разработчика, то цифра в 300000-400000 тысяч мне понятна. Но если считать лицензии на run-time, то она выглядит просто смешной - ведь устройства часто выпускаются миллионными тиражами и на каждый экземпляр каждого программного модуля по существу своя лицензия.
Вся эта арифметика мне очень напоминает стиль отчетов какого-нибудь PCMagazin, когда совершенно не понятно что с чем сравнивается и по какой методе тестировалось.

Евгений,
я уже не один раз натыкаюсь на цифры относительно одного порядка о "внедрениях QNX", причём в источниках отличающихся лет подготовки, и вообще слабо соотносящихся - вряд ли они заимствуют эту цифру 350000-400000-500000 друг у друга. Что это за цифра?


Название: Объясните ламеру, что такое ОС реального времени ?
Отправлено: olej от Октября 08, 2003, 03:47:00 pm
Этот постинг "переплыл" сюда из:
http://qnx.org.ru/forum/viewtopic.php?topic=1884&forum=2&start=25
и возник из обсуждение относительных скоростей realtime OS QNX и OS общего назначения Windows. Например:


ed1k пишет:
По поводу быстроты QNX - да, одно и то же железо под виндовс будет в среднем быстрее. И именно среднее время во многих случаях важно. Если, скажем, ГУИ приложение 99 раз адекватно и быстро отреагировало на мои действия и один раз реакция была чуть с опозданием, скажем, на 1 секунду из-за того, что ОС файлом подкачки, например, занималась, то если это какой нибудь редактор текста, то что в этом плохого? По опыту работы (все дуалбут системы, что помню), так сказать субьективное восприятие быстроты системы по реакции того же юзерского интерфейса:
1) P166MMX/64MB/ATI RageII - QNX6.1+Photon проигрывает Windows NT 4 SP5
2) P166MMX/32MB/S3Virge - QNX6.1+Photon проигрывает Windows 95
3) PII-350/64MB/S3Trio3D - QNX6.1/6.2 проигрывает NT4 SP6 и особенно Win98
4) compaq deskpro многолетней давности 386DX33/8Mb - QNX6.1 (без Photon) проигрывает DOS. Более точно - VC просто летает, по сравнению с МС


Это мнение, приведенное как один пример из многих, стало уже "общепризнанным мнением" у нас в форуме, и я сам неоднократно его обосновывал и доказывал. А теперь вот - ... усомнился.

По порядку: вчера в Харькове проходила традиционная уже ежегодная выставка, и семинар с RTSU, по QNX, в том числе, кроме того - удалось кое-что дополнительно пообсуждать со специалистами RTSU... И закрались такие сомнения:

1. Сто раз здесь в форуме повторялось, и в статьях и обзорах по Internet за последние 10 лет написанных всегда подчёркивалось: "QNX крайне нетребовательна к уровню оборудования, и легко выполняется на 486-м процессоре...". Что ж это получается: QNX, которая  легко запускается на 486-м процессоре, и на этом процессоре с 32Мб RAM (это мой реальный опыт!) можно даже выполнять невысокой сложности компиляцию в PhAB (с Photon) -
как realtime OS, должна быть несколько помедленнее OS общего применения Windows, который, например Windows 98 - если и можно установить на P/233 + 32M RAM - так делать на этом уж точно ничего нельзя - это занудно и тоскливо как собачья песня на Луну...?

2. Слушал я сравнения RTSU их опыта в АСУ ТП, об том, что "...сравнение аналогичных приложений QNX с Windows - 1-е просто летают...". А потом мы рассмотрели предъявленные ими временные диаграммы загрузки процессора, полученные плагином "джеяву" (не помню, как это грамотно пишется в оригинале), входящего в комплект IDE Eclipse QNX 6.2.1 PE. И что мы видим на реальных задачах QNX? Очень существенную часть процессорного времени занимает idle-процесс (я думаю, что на качественном уровне всяк может это понаблюдать простым spin).

Тут есть некоторое внутреннее противоречие...

Мне думается, по первому впечатлению, что дело обстоит так:

- когда в QNX реализуются (или перетаскиваются) задачи (или библиотеки к ним!) из других OS, или не сами задачи - а логика их решения, "мозги", то скорость приложений в QNX будет, наверное, в общем случае несколько ниже, чем OS общего применения (уже обсуждалось - за счёт более корректного, тщательного переключения контекстов etc.). При этом существенную часть производительности съест idle.

- но в QNX есть свои, совершенно уникальные механизмы, не имеющих эквивалентов в других OS, самые наклядные примеры которых: QNET, или лёгкость и "предрасположенность" к распараллеливанию средствами pthread_*()... Так вот, мне представляется, что если логику приложения строить на этих оптимальных для QNX механизмах - то вот тогда и получается вот то "в лёт"...

P.S. В дополнение текста выше, я вот что хочу рассказать. В описаниях "Программирование для Photon", а его есть перевод, который пока черновой, сделанный ZZZ и который я уже по просьбам с форума даже в таком виде разослал уже экземпляров ... 15?

Так вот, я эту книжку из Help - читал в оригинале не раз. Но как мы читаем? - то, что первоочерёдно нужно. А здесь был случай, и стал я просматривать текст в переводе ZZZ... И вот: нахожу механизмы, которые в оригинале... вроде как и не видел даже (т.е. - "неактуально", и бегом далее). И они именно из той области, об которой я писал выше. Назову их (что меня поразило - из почти 13000 сообщений на этом форуме - ни один из них не был даже упомнен, назван!):

- механизм Connector - для упрощения процесса message passing из Photon;
- регистрация действия (операций) как "working process", который будет выполняться только тогда, когда главный цикл приложения mainloop (обработки событий) свободен от загрузки;
- выполнение приложения (Photon) как нескольких thread каждый из которых имеет в своём составе mainloop!

Думаю, что этот список - далеко не исчерпывающий...




[ Это Сообщение было отредактировано: Olej в 2003-10-08 13:30 ]


Название: Объясните ламеру, что такое ОС реального времени ?
Отправлено: Evgeniy от Октября 08, 2003, 08:41:00 pm
Дорогие коллеги! Потерпите немножко с обсуждением сравнений производительности QNX vs OS* - последнее упомянутое Olej обсуждение подтолкнуло меня проделать некоторые тесты. В ближайшее время я приведу результаты в некоторую систему и представлю здесь. Скажу только для интриги, что цифры получились, как мне кажется, весьма занятные...


Название: Объясните ламеру, что такое ОС реального времени ?
Отправлено: olej от Октября 14, 2003, 09:51:00 pm
Вот здесь: http://forum.cta.ru/forum_posts.asp?TID=122 - достаточно интересное обсуждение на очень близкую тему. Почему "интересное"? Потому, что то обсуждение принципиально отличается:
- это форум журнала СТА - т.е. фактически Prosoft...
- среды профессиональных разработчиков, но узкой области - АСУ ТП, т.е. там "узко и глубоко", а на qnx.org.ru - "широко и по верхам"...
- наконец - это "заангажированный" форум, просто в силу того, что он от лица реального субъекта рынка...


Название: Объясните ламеру, что такое ОС реального времени ?
Отправлено: olej от Октября 27, 2003, 03:47:38 pm
Так что? никому нечего сказать практическим разработчикам АСУТП об "почему им нужны OS реального времени"?

http://forum.cta.ru/forum_posts.asp?TID=122&PN=1

Пусть АСУТП строятся под DOS, а мы - богема, элита... (нужное подчеркнуть), нам ли до того опускаться - мы будем в QNX GNU игрушки портировать...

А потом будем сидеть и удивляться: "я такая красивая, а он меня не любит"(с) - что никому ни QNX, ни охотники с ним работать - нафиг не нужны!


Название: Объясните ламеру, что такое ОС реального времени ?
Отправлено: Аноним от Октября 27, 2003, 05:27:08 pm
" Мне тоже грустно согласиться с этим  ... но против закона всемирного тяготения не попрёшь ведь, правда? Мне тоже от него (от тяготения ) иногда - грустно... . "
Так как же всемирное тяготение?


Название: Объясните ламеру, что такое ОС реального времени ?
Отправлено: olej от Ноября 19, 2003, 06:11:06 pm
PS: обсуждение перешло в спор,

Хотя флейм это тоже неплохо , но мне все-таки хочется понять...

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

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

А я вот тем временем послушал, что говорят на:
http://forum.cta.ru/forum_posts.asp?TID=122&PN=1
... даже от себя что-то пробовал сформулировать...

Тоже интересная позиция, и понятная: народ, идущий более от полу- или аппаратных реализаций авторегулирования и АСУТП, выдвигает такие формулировки:

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

В принципе, мне не близкая эта позиция..., но - они тоже по своему убедительны. Это на этом нашем форуме легко и однозначно утверждать, что "RTOS - это ку-у-ул..." - когда все вокруг солидарные... А в "независимом" окружении всё не так однозначно.

Не создаём ли мы себе сами стереотипы???

P.S.
Evgeniy пишет
Дорогие коллеги! Потерпите немножко с обсуждением сравнений...


Писано дня 8-го октября.

Терпим...


Название: Объясните ламеру, что такое ОС реального времени ?
Отправлено: Evgeniy от Ноября 19, 2003, 11:33:31 pm
Quoting: Olej

Тоже интересная позиция, и понятная: народ, идущий более от полу- или аппаратных реализаций авторегулирования и АСУТП, выдвигает такие формулировки:

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

В принципе, мне не близкая эта позиция..., но - они тоже по своему убедительны. Это на этом нашем форуме легко и однозначно утверждать, что "RTOS - это ку-у-ул..." - когда все вокруг солидарные... А в "независимом" окружении всё не так однозначно.

Не создаём ли мы себе сами стереотипы???


И здесь не все так однозначно Я хоть и далек от даже полу-аппаратных вопросов (полный профан в электронике ), но в большой степени согласен с этим подходом: есть хорошие инструменты и есть плохие, а их "реалтаймовость" зависит от конкретного объекта управления

Quoting: Olej


P.S.
Evgeniy пишет
Дорогие коллеги! Потерпите немножко с обсуждением сравнений...

Писано дня 8-го октября.

Терпим...


Ну вы-то чего ждете - помнится я давно отправил вам текст "для оценки" . Лично я жду готовности нового форума к размещению материалов


Название: Объясните ламеру, что такое ОС реального времени ?
Отправлено: olej от Ноября 20, 2003, 12:47:32 pm
но в большой степени согласен с этим подходом: есть хорошие инструменты и есть плохие, а их "реалтаймовость" зависит от конкретного объекта управления

"И ты прав, ... и ты тоже прав..."(с)
Релятивизм называется.

А для каких же объектов управления хороша (с позиций риэлтайм) OS с одной дисциплиной шедулирования FIFO - тот же Windows 3.11?


Название: Объясните ламеру, что такое ОС реального времени ?
Отправлено: Evgeniy от Ноября 21, 2003, 12:05:17 am
Olej
Релятивизм называется.

Все в мире относительно - старик Эйнштейн был прав

Olej

А для каких же объектов управления хороша (с позиций риэлтайм) OS с одной дисциплиной шедулирования FIFO - тот же Windows 3.11?

Для начала Win3.xx даже мелкомягкие с их нахальством не позиционировали как ОС - все-таки это была графическая оаболочка над ДОС Ну а на базе ДОС было сделано немало
Вот например ИВС энергоблока (сбор и представление оператору энергоблока) - многомашинная система на базе Novel DOS 7+спец. сеть с арбитром+связи с УСО на этой сети+двухэкранные видеоконтроллеры+спецклавиатуры. На сколько мне известно и по сей день работает недалеко от вас
Лично я делал несколько межсетевых шлюзов на основе ДОС+мультитредовая среда на Modula-2 (австралийский open-source пакет PMOS-2, специально разработанный именно для реального времени).
Могу сказать, что в одной сугубо real-time фирме в Харькове (не хочу называть) были планы делать ИВС атомного(!) энергоблока на базе Win3.11, но тут им подвернулся Вестенгауз и разработу похерили.
На сколько мне известно и Ханивел работал с дос на верхних уровнях систем.

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

Естественно я не хочу сказать, что Win - это хороший выбор. По мне, так это просто плохо спроектированная, хотя и доведенная до уровня продукта, ОС - значительно хуже QNX.

Но... все относительно


Название: Объясните ламеру, что такое ОС реального времени ?
Отправлено: olej от Января 12, 2004, 05:05:21 pm
Если есть ещё такие, кого интересует всё же "...что такое ОС реального времени?" - то 2-е из наших коллег по этому форуму, как специально, разродились заметками со своими соображениями на сей предмет, см. здесь:
- http://qnxclub.net/files/articles/rtos/rtos.html
- http://qnxclub.net/files/articles/RemarksOnTheMargins/RemarksOnTheMargins.html


Название: Объясните ламеру, что такое ОС реального времени ?
Отправлено: QNXCraft от Марта 30, 2004, 11:36:38 pm
Угу интересует. Все больше и больше, а нравится все меньше и меньше.

Как я понял, если неправильно то поправте, что чисто потребительские свойства ОС реального времени таковы

1) она гарантирует отклик ядра системы за некоторое заранее установленное малое время (критичное для процесса) при критической загрузке системы.

(Правда вовсе не гарантируется такойже оперативный отклик полезных для потребителя приложений.)

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

3) встраиваемость и размеры не имеют отношения к реал-таймовости.

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

Всем понятно, что практически все эти системы имеют
1) графический интерфейс для отслеживания процесса человеком - оператором, например карту катастроф, бедствий, событий, транспортных потоков, график сердцебиения, графическую схему ж/д путей со стрелками и семафорами, и т.д. и т.п.
2) Клавиатуру для олперативного ввода команд
3) систему звукового оповещения, голосом, сиреной
4) систему оповещения по всем линиям связи, как правило гетерогенным.
5) систему хранения больших массивов оперативной информации, именно оперативной, а не файловою помойку.

далее номера пунктов в том-же порядке
На данном сайте неоднократно утверждалось, что QNX
1) Может тормозить с графическим интерфейсом. Лично у меня io-graphics постоянно подвисает на неопределенное время.
2) Лично у меня клавиатура тормозит не по детски, кроме того после переключения раскладок первый символ - мусор.
3) Может тормозить вся система если активна аудио подситема. Ее рекомендуется отключать. Я с эти также столкнулся. Тормоза заметные.
4) Не оптимизирована работа в гетерогенных сетях, в частности копирование данных через самбу в несколько раз медленнее чем в Виндовс. Приговор окончательный, как я понял.
5) утверждалось, что QNX не предназначена для роли сервера данных, с базами данных работает значительно медленнее чем скажем ОС общего назначения.

Что-же получается. QNX не отвечает всем этим требованиям! Только встраиваемость и осталась! Т.е. QNX это ОС реального времени НЕ БОЛЬШЕ чем любая другая ос. Это просто компактная встраиваемая ОС и все!!!

Это было мое личное мнение от общения с этой системой, а не оценка эксперта, коим я не являюсь. Поэтому мог бы легко поддаться на обман, пиар, рекламу и раскошелиться на круглую сумму и раскошелить организацию... Мне повезло, что денег на покупку этой системы у меня нет. )))


Название: Объясните ламеру, что такое ОС реального времени ?
Отправлено: Evgeniy от Марта 31, 2004, 01:39:40 am
QNXCraft!
Вы допускаете типичную ошибку: смешиваете понятие системы реального времени и ОС реального времени. Согласитесь, что это "две большие разницы - первое создаете вы с использованием второго в качестве инструмента.
Далее. Все те элементы, о которых вы говорите.
Все они относятся к интерфейсу с человеком, время реакции которого больше 0.1 сек., а ОСРВ ориентированы на обслуживание оборудования с реакцией не порядок-два меньше.

1. Графика - отнюдь не обязательное требовани к ОСРВ - так все доРСшные ОСРВ обеспечивали сложную графику внешними интеллектуальными устройствами. И учтите, что множественные "бантики" и украшательства экрана для оператора значения не имеют и очень часто используются сравнительно простые мнемосхемные решения, которые упрощают жизнь как операторам так и программистам
2. Клавиатура. Для операторов (если вообще нужно) ставятся специальные функциональные клавиатуры - у него просто нет времени (да и навыков - ведь он не машинистка и даже не программист ) стучать по клавишам. А в более критических случаях используются регуляторы с прямым действием мимо станции оператора, на которой и крутится весь навороченный интерфейс.
3. Я еще никогда не встречал в системах РВ звука сложнее сирены, а там достаточно звук включить и может быть выключить. До "говорилок" там еще очень далеко, да и не нужно
4. На том же сайте посмотрите статью об измерении производительности самбы в QNX - она, по крайней мере, не хуже чем в форточках. Если у вас есть серьезные сомнения (да еще в несколько раз!) - буду очень признателен за их публикацию.
Кстати, мне совершенно не понятно какое это имеет отношение к оповещениям по системе да еще в "гетерогенных сетях"...
5. Никаких гигантских ресурсов для хранения оперативных данных на самом деле не требуется. А тем более не требуются никакие SQL-ы - для этого обычно строят разного рада ОЗУ-резидентные БД. Замечу, что для атомного энергоблока собирается (на блочном уровне) порядка 5000 параметров. Сколько для этого (даже без упаковки дискретов) нужно памяти можете посчитать сами... Обратите внимание на то, что при этом нет нужды пользоваться доступом к файловой системе...

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


Название: Объясните ламеру, что такое ОС реального времени ?
Отправлено: QNXCraft от Марта 31, 2004, 02:47:21 am
Evgeniy
первое создаете вы с использованием второго в качестве инструмента.

Нет я скорее откажусь создавать СРВ на основе такой ОС которая тормозит средства визуального мониторинга и несвоевременно обрабатывает ввод с клавиатуры.

Evgeniy
Все они относятся к интерфейсу с человеком, время реакции которого больше 0.1 сек., а ОСРВ ориентированы на обслуживание оборудования с реакцией не порядок-два меньше.

Ну а если течение вашей программы не устраивает оператора, который обязан за ней следить. Боинг не туда полетел ))) причем без экипажа. СТОП значит СТОП НЕМЕДЛЕННО, сразу после ввода, а не "погоди я еще основной поток не завершила, а ты мне какую то второстепенную команду даешь"...

Evgeniy
1. Графика - отнюдь не обязательное требовани к ОСРВ - так все доРСшные ОСРВ обеспечивали сложную графику внешними интеллектуальными устройствами. И учтите, что множественные "бантики" и украшательства экрана для оператора значения не имеют

Ага конечно!!!. Вот представте, что Вам делают операцию на мозге и хирург пользуется микроскопом с цифровым стерео монитором на каждый глаз, эдакий кибершлем. Медицинские приборы, это как раз область применения QNX. А там картинка вдруг затормозится, а дохтур этого не заметит и что нибудь лишнее отхреначит...
Или вдруг звук вашего здорового ровного сердцебиения, озвучиваемый через динамик, вдруг повиснет на звуке пиииииииииииииии... вместе с графиком отрисовки систолы и диастолы. Дохтуры вас начнут реанимировать, хотя вам этого не надо. А тот хирург с перепугу, таки лобную долю надрежет.

Evgeniy
На том же сайте посмотрите статью об измерении производительности самбы в QNX - она, по крайней мере, не хуже чем в форточках.

Я почерпнул эту инфу на этом сайте. Вроде все с этим согласились и порешили что да, QNX гарантированно медленнее и объяснимо медленее. Это плата за корректность работы ядра!

Evgeniy
Никаких гигантских ресурсов для хранения оперативных данных на самом деле не требуется. А тем более не требуются никакие SQL-ы - для этого обычно строят разного рада ОЗУ-резидентные БД. Замечу, что для атомного энергоблока собирается (на блочном уровне) порядка 5000 параметров.

Область применения СРВ не ограничивается атомными электростанциями. Там дествительно все так сложно,что лучше уж попроще, чтоб на калькуляторе в случае чего прикинуть. Неужели и системы управления авиалиниями и все что с ними связано не имеет больших баз данных? Очень сумлеваюсь. Есть ситемы в которых оперативный запрос охватывает гигабайты информации. Например различные ГИС. Это значит что QNX не применим в ГИС используемых в системах управления большого масштаба. Нефтепромыслы там всякие, нефтепроводы с вентилями, электросеть масштаба страны, глобальный мониторинг катастроф и аварий, фуфел в общем все это и игрушки...
Зато применим в тамагочах и сурьезных мобилах.


Название: Объясните ламеру, что такое ОС реального времени ?
Отправлено: QNXCraft от Марта 31, 2004, 03:06:43 am
Или например AISystems - самые сложные из сложных систем. Там окромя корректности работы ядра еще и скорость вычислений нужна.

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


Название: Объясните ламеру, что такое ОС реального времени ?
Отправлено: ed1k от Марта 31, 2004, 07:32:45 am
А моё IMO, что вам не повезло с чем то. То ли QNX слишком другая система для вас оказалась... Графика у меня притормаживала на P166/32Mb и то, только пока я не разобрался чего покрутить, чтоб получшело. Чего и вам желаю. А QNX применялся и будет применятся во многих областях - некоторые вы перечислили. А вот в тамагочах QNX я еще не видел.


Название: Объясните ламеру, что такое ОС реального времени ?
Отправлено: QNXCraft от Марта 31, 2004, 11:53:20 am
ed1k
пока я не разобрался чего покрутить

Чего, если не секрет?

ed1k
QNX слишком другая система для вас оказалась

В том то и дело, что то что надо.
В некотором конкретном случае мне нужно на одном антикварном компе совместить
1) полноценный Web-сервер c базой данных, маршрутизатор, и все такое
2) полноценную графическую оболочку с Web-броузером и т.д

В сумме получается, что QNX единственно возможное но тормозное решение, т.к. ,Linux,FreeBSD будут работать на этом железе лучше, как серваки, но намного хуже под Иксами. Windows95 будет просто летать, но сервер из него никакой.


Название: Объясните ламеру, что такое ОС реального времени ?
Отправлено: olej от Марта 31, 2004, 12:09:12 pm
to QNXCraft:

Тут вы несколько... как бы это лучше сказать "по-русски"? Как комментировал в одном анекдоте профессор ответ студентки: "... это - вам показалось, с этим - просто повезло, а в этом - просто ошибаетесь..." .


1) Может тормозить с графическим интерфейсом. Лично у меня io-graphics постоянно подвисает на неопределенное время.
2) Лично у меня клавиатура тормозит не по детски, кроме того после переключения раскладок первый символ - мусор.


Прежде всего - вот эти ваши "постулаты", которые послужили поводрм к дальнейшему обсуждению...
1. Я ставил QNX (6.1, 6.2 и 6.2.1) не менее, чем на 30-40-ка разных компьютеров, штук 8 из них - постоянно в моём "поле зрения" (3 дома, 4 на службе - там поработаю, здесь что-то попробую) - нет там и не было заметного торможения ни графической системы, ни клавиатуры...
2. И это - на разных машинах, среди которых были AMD 5х86 133Mhz и несколько P 233 Mhz - на них нет торможения!
3. И это - в дэсктоп использовании: с оконным менеджером к Photon, пакетной файловой системой и многими другими красивостями...
4. А в целевом исполнении, когда крутится GUI приложение без twm (а нехрен пользователю ещё между приложениями "бегать", и норовить ещё и гэймы побяцать, пока "Боинг" летит... - так у вас сказано?) - так просто к Photon приложениям - никаких претензий: ни по скорости, ни по устойчивости.

Резюме: как сказал ed1k - вам в чём то не повезло с оборудованием (конечно, QNX не поддерживает весь тот спектр, что и ВЫНЬ, да ей и не нужно).
Как лечить?: выкиньте нахрен этот комплект, и попробуйте на новом - скорее всего, вам повезёт... (и это не совсем шутка - в одном производственном проекте мы так и поступили с закупленными сетевыми картами).

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


А это - будет всегда! Об этом так много здесь писалось - чудес в природе не бывает. Кто-то, по-моему из нынешних французских философов замечал: "... Девственность блюсти - богоугодное дело. И детей выращивать - тоже хорошее дело. Только нельзя заниматься тем и другим одновременно!".

Неужели и системы управления авиалиниями и все что с ними связано не имеет больших баз данных? Очень сумлеваюсь. Есть ситемы в которых оперативный запрос охватывает гигабайты информации. Например различные ГИС. Это значит что QNX не применим в ГИС используемых в системах управления большого масштаба. Нефтепромыслы там всякие, нефтепроводы с вентилями, электросеть масштаба страны, глобальный мониторинг катастроф и аварий, фуфел в общем все это и игрушки...

Тот же PostgreSQL - прекрасно эксплуатируется в QNX (ну, по крайней мере, "прекрасно" - в сравнении с MS-SQL под ВЫНЬ).

Я почерпнул эту инфу на этом сайте. Вроде все с этим согласились и порешили что да, QNX гарантированно медленнее и объяснимо медленее.

Не спешите с выводами.
Почерпните ещё здесь:
http://qnxclub.net/files/articles/smbspeed/smbspeed.html


Название: Объясните ламеру, что такое ОС реального времени ?
Отправлено: QNXCraft от Марта 31, 2004, 03:07:08 pm
Хороший тест, вот бы еще с FreeBSD и Линуксом также сравнить.

Однако, судя по тесту QNX всеже медленнее Windows, хоть и не в разы, а вы говорите "утверждения лишены оснований". Кроме того в таких сетях, где используется Windows, как правило используется очень широкий спектр оборудования, и не создается тепличных условий для QNX. И конечному пользователю не важно, какие там особенности, а важен конечный результат. Поэтому , несмотря на безупречность QNX, в реальных сетях среднестатистического НИИ, он будет отставать от Windows как по совместимости так и по производительности.

Давайте лучше обсудим, насколько QNX подходит для программного-AIS, какое железо подойдет и не лучше ли на том же железе запустить Линукс.
Требования
1) максимальная производительность рутинных операций с плавающей точкой на больших массивах порядка сотен мегабайт.
2) максимальная производительность при подкачке из базы данных. Время от времени полное обновление памяти из базы данных, новой информацией, причем это нельзя обойти увеличением памяти.
3) многомашинное масштабирование, максимальная скорость обмена по сети, хотябы в пределах кластера.
4) большое количество параллельных потоков.
5) приемлемая(достаточно высокая) скорость клиент-серверного обмена с внешними приложениями в LAN и WAN с GUI пользователя в другой ОС, Web/HTTP/Socket. Гарантированное выполнение пользовательских запросов на сервере, количество пользователей хотябы порядка 100, нет гарантий, что запрос поместится в памяти в любой момент времени.


Название: Объясните ламеру, что такое ОС реального времени ?
Отправлено: olej от Марта 31, 2004, 05:11:09 pm
Однако, судя по тесту QNX всеже медленнее Windows, хоть и не в разы, а вы говорите "утверждения лишены оснований".

Это не я, это Evgeniy говорит - спасибо ему за выполненную работу.

Кроме того в таких сетях, где используется Windows, как правило используется очень широкий спектр оборудования, и не создается тепличных условий для QNX. И конечному пользователю не важно, какие там особенности, а важен конечный результат. Поэтому , несмотря на безупречность QNX, в реальных сетях среднестатистического НИИ, он будет отставать от Windows как по совместимости так и по производительности.

В принципе, нечто подобное и дОлжно ожидать - это плата за устойчивость и корректность... - об этом уже много в форуме говорилось.

Кроме того - всё это вы относите к протоколу NETBEUI/SMB/CIFS, который native для Windows, и внешний, привнесенный для QNX (через пакет стороннего производителя).


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

Этот пункт вообще нельзя обсуждать "вообще", безотносительно к конкретике, и непонятно, почему здесь одна OS будет производительнее другой... особенно, при условии, что они - в равных ситуациях, т.е. либо все эти объёмы могут быть размещены в RAM, либо в QNX вы сумеете корректно включить свопирование по этим вашим объёмам данных.


2) максимальная производительность при подкачке из базы данных. Время от времени полное обновление памяти из базы данных, новой информацией, причем это нельзя обойти увеличением памяти.

Здесь RTOS (и QNX, в частности) - будет заведомо проигрывать GPOS - это их родные задачи (IMHO - спросите у Landy более детально).


3) многомашинное масштабирование, максимальная скорость обмена по сети, хотябы в пределах кластера.
4) большое количество параллельных потоков.

А вот здесь (опять же IMHO) - просто ни одна OS просто близко не соразмерится с возможностями QNX по: а).простоте, б).гибкости, в).прозрачности и, как следствие а)-б)-в) - г).производительности (при условии, конечно, что это другая OS не будет микроядерной). Посмотрите вот здесь:
http://qnxclub.net/files/articles/cluster/cluster.html
- но это - всего лишь простейшая иллюстрация возможностей. QNET - это уже сам по себе органичный кластер. Как вы думаете, что будет производительнее и эффективнее: этот естественный кластер, или кластер, моделируемый над TCP/IP в GPOS?


Название: Объясните ламеру, что такое ОС реального времени ?
Отправлено: Аноним от Марта 31, 2004, 06:44:45 pm
QNXCraft
Ага конечно!!!. Вот представте, что Вам делают операцию на мозге и хирург пользуется микроскопом с цифровым стерео монитором на каждый глаз, эдакий кибершлем. Медицинские приборы, это как раз область применения QNX. А там картинка вдруг затормозится, а дохтур этого не заметит и что нибудь лишнее отхреначит...
Или вдруг звук вашего здорового ровного сердцебиения, озвучиваемый через динамик, вдруг повиснет на звуке пиииииииииииииии... вместе с графиком отрисовки систолы и диастолы. Дохтуры вас начнут реанимировать, хотя вам этого не надо. А тот хирург с перепугу, таки лобную долю надрежет.

Вы меня уже запугали
Что за странное стремление все смешать в одну кучу и заталкать в в одну ретро-машину, на которой сегодня ни одна GPOS работать не сможет? Кто вам сказал, что озвучиват сердцебиение надо через ту же машину, что и вывод графики? И вообще через машину? Сначала через микрофон загоним в машину, а потом из машины выплюнем в усилитель - может лучше без машины сразу в усилитель? Прямо как в том анекдоте про советскую стоматологию...
Вы вообще когда нибудь слышали о концепции "рабочего места"?


QNXCraft
Evgeniy
На том же сайте посмотрите статью об измерении производительности самбы в QNX - она, по крайней мере, не хуже чем в форточках.
Я почерпнул эту инфу на этом сайте. Вроде все с этим согласились и порешили что да, QNX гарантированно медленнее и объяснимо медленее. Это плата за корректность работы ядра!

Вы вероятно не внимательно смотрели вот здесь http://qnxclub.net/files/articles/smbspeed/smbspeed.html
Если вы посмотрите внимательно, то легко обнаружите и ситуации, когда QNX быстрее. Нет там архитектурной, системной зависимости. А то, что отдельные драйверы в разных системах написаны с разным качеством - вещь совершенно обычная. И когда вы делаете устройство в несколько десятков тысяч, то нечего жмотничать и экономить десятку зеленых, покупая дерьмовые комплектующие - на самой ходовой 3Com карте (и замечу не самой дорогой) QNX уверенно делает форточки.

QNXCraft
Неужели и системы управления авиалиниями и все что с ними связано не имеет больших баз данных? Очень сумлеваюсь. Есть ситемы в которых оперативный запрос охватывает гигабайты информации. Например различные ГИС. Это значит что QNX не применим в ГИС используемых в системах управления большого масштаба. Нефтепромыслы там всякие, нефтепроводы с вентилями, электросеть масштаба страны, глобальный мониторинг катастроф и аварий,

Кто вам сказал, что для отображения авиадиспетчеру нужны гигабайты информации? Или вы хотите подсунуть ему трехмерную картину Земли со всеми самолетами - ракетами - спутниками, которую он должен будет два часа крутить, прежде чем увидеть в зоне своей ответственности самолеты, которые уже столкнулись?
Вероятно вы никогда не обращали внимания на тот простой факт, что, как правило, чем более быстрая реакция требуется, тем меньше данных надо для принятия решения...
Я уже не говорю о том, что если речь заходит о применении больших баз в ответственных системах, то там вы PC найдете только у операторов, а основные задачи будут решаться на всяких там Cray, Эльбрус... или  AS/400, у которых время наработки на отказ по дисковым операциям порядка 15 лет...

Не надо применять ваш отрицательный опыт по одновременному совмещению всех возможных технологий в QNX на сомнительном железе - в таких условиях любая ОС будет в заднице - к проектированию реальных систем стоимостью во много тысяч и миллионов зеленых. Поверьте - там все совсем иначе решается


Название: Объясните ламеру, что такое ОС реального времени ?
Отправлено: Evgeniy от Марта 31, 2004, 07:12:37 pm
Дима! Пожалуйста, закрой наконец анонима!


Название: Объясните ламеру, что такое ОС реального времени ?
Отправлено: klalafuda от Марта 31, 2004, 07:21:17 pm
---cut---
Дима! Пожалуйста, закрой наконец анонима!
---cut---

Да! (с) me
Зина ! В печку его ! (c)..

// wbr


Название: Объясните ламеру, что такое ОС реального времени ?
Отправлено: Evgeniy от Марта 31, 2004, 07:23:28 pm
Olej
В принципе, нечто подобное и дОлжно ожидать - это плата за устойчивость и корректность... - об этом уже много в форуме говорилось.

Кроме того - всё это вы относите к протоколу NETBEUI/SMB/CIFS, который native для Windows, и внешний, привнесенный для QNX (через пакет стороннего производителя).

Olej! А нельзя ли это осветить конкретнее, с описанием причин? Эти общие рассуждения тянутся уже несколько лет, но так никто и не смог привести ни одного толкового аргумента почему так и должно быть - все ограничивается общефилософскими рассуждениями о том, что корректная работа не может быть быстрой... Приведите хотя бы один конкретный пример такого замедление - некорректность приводит не к ускорению, а к падениям, которые затыкают чем ни поподя и в результате теряют всякое прежнее "ускорение"
Я могу понять, что компания, занимаясь ОС для РВ, сознательно не занимается производительностью файловой системы (мол "Нам и нашим клиентам на это наплевать" ), но это не значит, что ее оптимизация невозможна. Давайте не смешивать "рукописи с черновиками", т.е. технические и рыночные резоны.


Название: Объясните ламеру, что такое ОС реального времени ?
Отправлено: Evgeniy от Марта 31, 2004, 07:45:34 pm
QNXCraft
Хороший тест, вот бы еще с FreeBSD и Линуксом также сравнить.

А в чем проблема? Методика тестирования описана, программа приведена - ноги в руки и с богом! Лично меня эти "системы" в исследовательском плане не интересуют, т.к. до уровня продукта им как куцему до зайца...
QNXCraft

Однако, судя по тесту QNX всеже медленнее Windows, хоть и не в разы, а вы говорите "утверждения лишены оснований".

Еще раз внимательно посмотрите числа и не путайте колонки. Тогда вы увидите и тесты, когда QNX не то что не уступает форточкам, но и быстрее на 30%... И это не на экзотических адаптерах а на самом обычном 3Com. Это, конечно не безымянный мусор, но и не "что-то особенного" - рядовая "рабочая лошадка"
QNXCraft

Кроме того в таких сетях, где используется Windows, как правило используется очень широкий спектр оборудования, и не создается тепличных условий для QNX. И конечному пользователю не важно, какие там особенности, а важен конечный результат. Поэтому , несмотря на безупречность QNX, в реальных сетях среднестатистического НИИ, он будет отставать от Windows как по совместимости так и по производительности.

Что вы собираетесь делать в форточной сети "среднестатистического НИИ" с QNX? Редактировать "среднестатистические отчеты" или отлаживать системы управления РВ? Если первое, то оставайтесь с форточками, если второе, то вы должны иметь оборудование хотя бы похожее (а лучше идентичное) на то, которое будет на объекте у заказчика. Не путайте божий дар с яичницей!


Название: Объясните ламеру, что такое ОС реального времени ?
Отправлено: QNXCraft от Марта 31, 2004, 09:43:38 pm
Evgeniy
Еще раз внимательно посмотрите числа и не путайте колонки.

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

Evgeniy
Что вы собираетесь делать в форточной сети "среднестатистического НИИ"

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


Название: Объясните ламеру, что такое ОС реального времени ?
Отправлено: Аноним от Марта 31, 2004, 10:39:58 pm
Olej

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

Этот пункт вообще нельзя обсуждать "вообще", безотносительно к конкретике, и непонятно, почему здесь одна OS будет производительнее другой...

Производительность операций с плавающей точкой определяется процессором и компилятором, который может искользовать разные команды и регистры
Olej

особенно, при условии, что они - в равных ситуациях, т.е. либо все эти объёмы могут быть размещены в RAM, либо в QNX вы сумеете корректно включить свопирование по этим вашим объёмам данных.

;-)
Olej

2) максимальная производительность при подкачке из базы данных. Время от времени полное обновление памяти из базы данных, новой информацией, причем это нельзя обойти увеличением памяти.

Здесь RTOS (и QNX, в частности) - будет заведомо проигрывать GPOS - это их родные задачи (IMHO - спросите у Landy более детально).

хехе...разве выбор базы данных[машины базы данных] не является в этом случае определяющим фактором ? плюс производительность файловой системы, которая к RTOS/GPOS не имеет прямого отношения. Хотя про использование, например HPFS под QNX чего-то не слышно.

Olej

3) многомашинное масштабирование, максимальная скорость обмена по сети, хотябы в пределах кластера.

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

4) большое количество параллельных потоков.

А вот здесь (опять же IMHO) - просто ни одна OS просто близко не соразмерится с возможностями QNX по: а).простоте, б).гибкости, в).прозрачности и, как следствие а)-б)-в) - г).производительности (при условии, конечно, что это другая OS не будет микроядерной). Посмотрите вот здесь:

опять-таки это большое ИМХО.
опять-таки нету неангажированного пиписькометра с реальной задачей. хотя...по идее для например веб-серверов есть более-менее стандартные методы...


Название: Объясните ламеру, что такое ОС реального времени ?
Отправлено: QNXCraft от Апреля 01, 2004, 03:15:00 am
Аноним
3) многомашинное масштабирование, максимальная скорость обмена по сети, хотябы в пределах кластера.

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

Кому и кобыла невеста. Полноте, какими файлами в каком вакууме? Ежу понятно что данными. А масштабирование оно и в Африке масштабирование - разделение задачи/задач между процессорами на одной машине либо между машинами.

Аноним
хехе...разве выбор базы данных[машины базы данных] не является в этом случае определяющим фактором ?

Нет не является т.к. вопрос ставится "при одинаковых условиях", т.е. для одинаковых СУБД(из числа реляционных). А производительность конкретной СУБД это уже вопрос из другой области.

Olej
1) максимальная производительность рутинных операций с плавающей точкой на больших массивах порядка сотен мегабайт.

Этот пункт вообще нельзя обсуждать "вообще", безотносительно к конкретике, и непонятно, почему здесь одна OS будет производительнее другой... особенно, при условии, что они - в равных ситуациях, т.е. либо все эти объёмы могут быть размещены в RAM, либо в QNX вы сумеете корректно включить свопирование по этим вашим объёмам данных.


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

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

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


Название: Объясните ламеру, что такое ОС реального времени ?
Отправлено: ed1k от Апреля 01, 2004, 05:54:00 am
QNXCraft
Имеется в виду что непрерывное выполнение большого количества однотипных операций на массиве будет выполнено значительно быстрее, чем при многократном прерывании.


О каком прерывании вы говорите? Если вам не требуется точных времён в системе и частого переключения контекста, то вам и карты в руки. Смотрите описание с примерами функции ClockPeriod().

http://www.qnx.com/developers/docs/momentics621_docs/
neutrino/lib_ref/c/clockperiod.html


Название: Объясните ламеру, что такое ОС реального времени ?
Отправлено: Landy от Апреля 01, 2004, 06:55:57 am
QNXCraft
максимальная производительность при подкачке из базы данных. Время от времени полное обновление памяти из базы данных, новой информацией, причем это нельзя обойти увеличением памяти.

 Что-то я не совсем понимаю это. Вы что действительно думаете , что сервер базы данных использует ВСЮ память системы для работы со своими данными? Все RDBMS как правило используют только часть памяти, выделяемой серверу системой при старте. К примеру Postgres  на операциях чтения что на Linux,  что на QNX  работают одинаково(ну может чуть медленнее на QNX  из-за частоты переключения контекста, смените частоту и получите ту же скорость). Но на QNX нет к примеру свопа, который в Linux  при некоторых условиях работы будет тормозить работу сервера БД (такой ситуации в QNX  просто никогда не будет). При операциях записи - QNX проигрывает, но это из-за специфики работы файловой системы QNX (Postgres  в этом плане не сильно заморачивается, этот кусок сделан по макс. просто). Если данные базы хранятся на сыром разделе - еще не известно кто тут быстрее будет, но у Postgres  к сожалению такого режима нет.


Название: Объясните ламеру, что такое ОС реального времени ?
Отправлено: Аноним от Апреля 01, 2004, 02:21:48 pm
QNXCraft
Кому и кобыла невеста. Полноте, какими файлами в каком вакууме? Ежу понятно что данными.

Расжевываю: если данными обмениваются программы, но при этом ничего на диск не пишется - это одна ситуация. Если все данные - пишутся - совсем другая.
QNXCraft
А масштабирование оно и в Африке масштабирование - разделение задачи/задач между процессорами на одной машине либо между машинами.

Может я в танке, но разделение одной задачи и нескольких задач между процессорами - это совершенно разные песни. Если задача, которая процесс, - однониточная, то ты ее никак не разделишь и между процессорами, ни между машинами.
Если задача, которая алгоритм, - строго последовательная, то ее тоже никак не разделишь
QNXCraft
   Аноним
    хехе...разве выбор базы данных[машины базы данных] не является в этом случае определяющим фактором ?


Нет не является т.к. вопрос ставится "при одинаковых условиях", т.е. для одинаковых СУБД(из числа реляционных). А производительность конкретной СУБД это уже вопрос из другой области.

Мда ? А ну-ка  покажите мне одинаковые СУБД системы эээ..как ее..которая в MS оффисе для QNX и Windows ? Окей, Тогда DB2. Шо, тоже никак ? Ну тогда DB от сонного кота ? Даже если оно и есть - все равно про равные условия говорить тяжело, ибо порты..
QNXCraft
Имеется в виду что непрерывное выполнение большого количества однотипных операций на массиве будет выполнено значительно быстрее, чем при многократном прерывании. Возможность такой блокировки должна быть отдана на усмотрение разработчика и напрямую относится к возможностям ОС.

Во всех осях такое решается приоритетами/семафорами/критическими секциями
QNXCraft

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

Ничего подобного. Большого разброса как раз нет для операций с плавающей точкой. (ничего не могу сказать про 64 битные процессоры, которые выполняют 32битный код. Но и там не может быть "потрясающей разницы", если только разработчики процессоров не постявят специальные тормозаграбли для 32битного кода) Для целочисленных разброс гораздо больше.


Название: Объясните ламеру, что такое ОС реального времени ?
Отправлено: olej от Апреля 01, 2004, 05:17:17 pm
Evgeniy:
Olej! А нельзя ли это осветить конкретнее, с описанием причин? Эти общие рассуждения тянутся уже несколько лет, но так никто и не смог привести ни одного толкового аргумента почему так и должно быть - все ограничивается общефилософскими рассуждениями о том, что корректная работа не может быть быстрой... Приведите хотя бы один конкретный пример такого замедление - некорректность приводит не к ускорению, а к падениям, которые затыкают чем ни поподя и в результате теряют всякое прежнее "ускорение"

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

1. большинство GPOS (все Win, Linux, кто ещё?) на х86 используют только 2 кольца защиты: 0 и 3, т.е. "юзеровский" и "супервизорный" режимы. QNX использует все 4 кольца защиты: 0 - микроядро,

системные сервисы (менеджеры) запускаются на уровне привилегий - 1, драйвера устройств – 2 и пользовательские приложения - на 3-м уровне привилегий.

- эту цитату я взял (там указан и первоисточник QSSL) здесь:
http://qnxclub.net/files/articles/rtos/rtos.html
Естественно, что при последовательной передаче по цепочке, для многих запросов просто численно должно происходить большее число переключений контекстов, например.

2. timeslice - как вы помните, в 6.2.1 по умолчанию стоит в 1мс, и может быть уменьшен до 10мкс. В Linux, например, как мне помнится, самое минимальное значение timeslice может быть - 10мс. Каждый timeslice - это отработка всех служб времени: таймеров, ожидающих задержек... кроме того - каждые 4 * timeslice - это решедулирование (это в QNX, в других GPOS будут другие, но подобные условия).
Это уже не имеет прямого отношения к архитектуре, но:
- если уж вы хотите иметь в RTOS на порядки более "тонкую" и "гладкую" временную шкалу - за это нужно платить;
- большинство ПО не переустанавливает timeslice, а использует by default - в какой бы системе оно ни функционировало, а by default - они у вас на 4 порядка отличаются, и накладные расходы тоже.


Название: Объясните ламеру, что такое ОС реального времени ?
Отправлено: olej от Апреля 01, 2004, 05:42:31 pm
неизвестно кто пишет:
Не поставлен вопрос - масштабирование чего? обена чем ? вообще ? масштабирование и обмен в ваккуме ?Если обмениваетесь файлами, а производительность файловой системы ни к черту, то какая такая может быть скорость обмена ?

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

неизвестно кто пишет:
опять-таки это большое ИМХО.
опять-таки нету неангажированного пиписькометра с реальной задачей. хотя...по идее для например веб-серверов есть более-менее стандартные методы...


Как раз именно вычислительные кластерные возможности интересны (могут быть), а типовые применения типа WEB - это как раз неактуально.

QNXCraft пишет:
А масштабирование оно и в Африке масштабирование - разделение задачи/задач между процессорами на одной машине либо между машинами.

Если ещё чуть уточнить, то:
- процесс разделять между узлами кластера вы не сможете, это можно делать в SMP;
- тогда, наверное, точнее оперировать термином вычислительный алгоритм чем процесс, именно он распараллеливается.

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


1. даже multithread процесс совсем не обязательно станет эфеективно распараллеливаться на SMP;
2. ...но на кластере может распараллеливаться только процесс вычислений, который к процессам в терминологии OS тоже не имеет никакого отношения:
3. параллельные процессы-задачи для узлов кластера должны писаться только специально - нет никакого механического или формального механизма распараллелтвания между узлами (как thread на SMP);
4. строго последовательных задач в природе не бывает... практически все до какой-то степени параллелятся. Вот этот критерий (степень) распараллеливания - и есть критерий целесообразности кластерных вычислений вообще.
5. задачи, которые не подлежат эффективной кластеризации - вообще нецелесообразно принимать в расчёт при рассмотрении этого пункта, иначе только придём к великой путанице...


Название: Объясните ламеру, что такое ОС реального времени ?
Отправлено: klalafuda от Апреля 01, 2004, 05:45:15 pm
---cut---
1. большинство GPOS (все Win, Linux, кто ещё?) на х86 используют только 2 кольца защиты: 0 и 3, т.е. "юзеровский" и "супервизорный" режимы. QNX использует все 4 кольца защиты: 0 - микроядро,
 
системные сервисы (менеджеры) запускаются на уровне привилегий - 1, драйвера устройств – 2 и пользовательские приложения - на 3-м уровне привилегий.
 
- эту цитату я взял (там указан и первоисточник QSSL) здесь:
http://qnxclub.net/files/articles/rtos/rtos.html
Естественно, что при последовательной передаче по цепочке, для многих запросов просто численно должно происходить большее число переключений контекстов, например.
---cut---

ARM с MMU имеет всего два "кольца защиты". вывод - QNX там будет работать в два раза быстрее ?

// wbr


Название: Объясните ламеру, что такое ОС реального времени ?
Отправлено: olej от Апреля 01, 2004, 05:52:03 pm
ARM с MMU имеет всего два "кольца защиты". вывод - QNX там будет работать в два раза быстрее ?

Быстрее в сравнении с чем? С GPOS, работающими на ARM с MMU? А какие GPOS работают на ARM с MMU, для сравнения с QNX?
Но это так, в порядке шутки... - не знаю я, и не очень хочу, что происходит на QNX на ARM пока не увижу - я цитировал по документации на х86, и все, кто хотели сравнить - сравнивают с Windows & Linux & FreeBSD на х86.


Название: Объясните ламеру, что такое ОС реального времени ?
Отправлено: klalafuda от Апреля 01, 2004, 06:01:31 pm
---cut---
Быстрее в сравнении с чем? С GPOS, работающими на ARM с MMU? А какие GPOS работают на ARM с MMU, для сравнения с QNX?
---cut---

NetBSD, RiscBSD, Linux, WindowsCE, Windows XP Embedded, Windows NT Embedded на выбор.
для != GPOS можно предложить VxWorks, uCos, Eneya, Nucleus и иже с ними.

---cut---
Но это так, в порядке шутки... - не знаю я, и не очень хочу, что происходит на QNX на ARM пока не увижу - я цитировал по документации на х86, и все, кто хотели сравнить - сравнивают с Windows & Linux & FreeBSD на х86.
---cut---

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

// wbr


Название: Объясните ламеру, что такое ОС реального времени ?
Отправлено: Evgeniy от Апреля 01, 2004, 06:47:59 pm
Olej
1. большинство GPOS (все Win, Linux, кто ещё?) на х86 используют только 2 кольца защиты: 0 и 3, т.е. "юзеровский" и "супервизорный" режимы. QNX использует все 4 кольца защиты: 0 - микроядро, системные сервисы (менеджеры) запускаются на уровне привилегий - 1, драйвера устройств – 2 и пользовательские приложения - на 3-м уровне привилегий.

Ну и что? В чем здесь "некорректность" GPOS? И почему использование более тонкой градации прав обязательно должно приводить к снижению производительности системы? Простите, но я не вижу здесь связи.
Olej
Естественно, что при последовательной передаче по цепочке, для многих запросов просто численно должно происходить большее число переключений контекстов, например.

Ну и что? А при последовательной передаче по цепочке в той же Win будет больше вызовов - это вопрос "гранулярности" программных реализаций, а не архитектуры. Более того. На сколько больше ресурсов процессора жрет смена контекста по сравнению с вызовом? А теперь сравните с тем объемом вычислений, который должен выполняться внутри каждого элемента цепочки между сменами контекстов.
Кстати говоря, пробовал я микроядерного Darwin на PC и что-то не увидел заметного замедления по сравнению с тем же FreeBSD.

Olej
2. timeslice - как вы помните, в 6.2.1 по умолчанию стоит в 1мс, и может быть уменьшен до 10мкс. В Linux, например, как мне помнится, самое минимальное значение timeslice может быть - 10мс. Каждый timeslice - это отработка всех служб времени: таймеров, ожидающих задержек... кроме того - каждые 4 * timeslice - это решедулирование (это в QNX, в других GPOS будут другие, но подобные условия).
Это уже не имеет прямого отношения к архитектуре, но:

Вы сами говорите, что это не имеет отношения к архитектуре - вы сами просите больше работы от системы (более точное время) и сами догружаете этой работой машину. В любой другой ОС будет все то же самое. Так при чем же здесь RTOS vs. GPOS?

Еще раз повторюсь. В QNX конечно же есть медленные функции/подсистемы. Но по моему глубочайшему убеждению это результат сознательного бизнес-решения не заниматься оптимизацией второстепенных с точки зрения заказчиков (или целевой рыночной ниши) компании функций в условиях ограниченных ресурсов - прикиньте сколько человек из кажется 200 списочного состава QSSL реально занимаются программированием... Совершенно уверен, что если бы скорость той же файловой системы оказалась бы существенной для миллионного контракта, то файловая систем была бы соответствующим образом оптимизирована...
И не стоит из этого делать столь глобальные обобщения, что RTOS должны быть медленне GPOS и тем оправдывать "низкие" скоростные характеристики в QNX (например). QNX - хороший добротный комплексный программный продукт и не нуждается в таких сомнительных оправданиях - мол "мы ведь маленькие и не для всех и не надо с нас спрашивать по-взрослому".


Название: Объясните ламеру, что такое ОС реального времени ?
Отправлено: QNXCraft от Апреля 01, 2004, 06:49:28 pm
Для анонима
(извините что без цитирования. В Voyager-е цитирование не работает)

1)Алгоритмы распараллеливания мы здесь не рассматриваем. Но можно запросто распараллелить даже однонитчатую задачу если в наличии имеется несколько машин - запустить на каждой клиента и просто раздать им по куску массива, нехай считают. Но есть и более эффективные методы.
2) Органичимся только PostgreSQL и MySQL
3) Вы что в критических, по производительности вычистений, местах ставите критические секции?!!!
4) Есть разброс, есть. Возьмите реально любой алгоритм пересчета како-нибудь массива, скомпелите в разных языках, или без компиляции (в интерпретаторе) и получите разброс производительности. Тоже самое происходит в разных операционках,которые по существу разные программы с разным алгоритмом.Ну не могут в принципе производительности совпадать!!!! Или мы о разной производительности говорим...


Название: Объясните ламеру, что такое ОС реального времени ?
Отправлено: ee от Апреля 02, 2004, 01:08:30 am
Olej
неизвестно кто пишет:

да етить. оно хоть бы напоминало, шо ты аноним или где?
Olej
Под масштабированием в многомашинных, кластерных системах (даже в отличие от SMP) традиционно уже понимается распараллеливание единого вычислительного процесса, когда никакие периферийные процессы (дисковые, сокетные I/O и т.д.) - не являются необходимой частью самого вычислительного процесса (а могут только использоваться для обеспечения взаимодействий).

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

так в числодробительных приложениях ваш жесткий риалтайм еще более нафиг не нужен ;-)

Olej
4. строго последовательных задач в природе не бывает... п
бывает-бывает. Навскидку - обработка массива данных до первого появления "события" или когда обработка следующего зависит от предыдущего.
Или всякие бифуркации и прочая, когда X=F(X[i-1])
или же рекурсия/обходы по границам. Или же из области риалтайма - ожидание срабатывание датчика1, потом ожидание срабатывание датчика2 и т.п. - если конечно датчики расположены так, что должны срабатывать последовательно.
Другое дело что мы из этих неприятных вещей делаем конфетку - рисуем прогресс бар, даем возможность оператору поиграть в карты и т.д. ;-)


Название: Объясните ламеру, что такое ОС реального времени ?
Отправлено: ee от Апреля 02, 2004, 01:23:34 am
QNXCraft
1)Алгоритмы распараллеливания мы здесь не рассматриваем. Но можно запросто распараллелить даже однонитчатую задачу если в наличии имеется несколько машин - запустить на каждой клиента и просто раздать им по куску массива, нехай считают. Но есть и более эффективные методы.

ну возьмите учебный пример с быстрой сортировкой и распарралельте
QNXCraft
3) Вы что в критических, по производительности вычистений, местах ставите критические секции?!!!

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

QNXCraft
4) Есть разброс, есть. Возьмите реально любой алгоритм пересчета како-нибудь массива, скомпелите в разных языках, или без компиляции (в интерпретаторе) и получите разброс производительности. Тоже самое происходит в разных операционках,которые по существу разные программы с разным алгоритмом.Ну не могут в принципе производительности совпадать!!!! Или мы о разной производительности говорим

Нету разброса, нету. Возьмите любой тест производительности fp и скормите компилятору. И интерпретатору. попробуйте ;-) Человек в здравом уме делать такого не будет.
А после компиляции загляните в ассембелерный листинг - и большой разницы не увидите. Ну не может одна и та же ассемблерная команда выполнятся разное время в разных осах, работающих в одном и том же режиме не одном и том же процессоре!


Название: Объясните ламеру, что такое ОС реального времени ?
Отправлено: gleb от Апреля 02, 2004, 08:54:53 am

1) Может тормозить с графическим интерфейсом. Лично у меня io-graphics постоянно подвисает на неопределенное время.
2) Лично у меня клавиатура тормозит не по детски, кроме того после переключения раскладок первый символ - мусор.
3) Может тормозить вся система если активна аудио подситема. Ее рекомендуется отключать. Я с эти также столкнулся. Тормоза заметные.

Не знаю, не знаю... У меня на пентиуме4 2.8ГГц вообще ничего не тормозит . И графика просто летает в режиме 1280х1024. И аудио зашибись работает. А клавиатура - это по умолчанию задержки на повтор большие стоят. Указываем в input.localhost руками параметры клавиатуры и мыши - и всё опять-таки работает быстро.


4) Не оптимизирована работа в гетерогенных сетях, в частности копирование данных через самбу в несколько раз медленнее чем в Виндовс. Приговор окончательный, как я понял.

Да забейте вы на это, пользуйтесь qnet - там всё быстро ))))


Название: Объясните ламеру, что такое ОС реального времени ?
Отправлено: lestat от Апреля 02, 2004, 09:33:12 am
ee
Ну не может одна и та же ассемблерная команда выполнятся разное время в разных осах, работающих в одном и том же режиме не одном и том же процессоре!

Легко:

1) Разные тайминги на памятях (видеопамять, shared memory на PCI/ISA).

2) Параллельная работа DMA или BM DMA и одновременное обращение к этой же памяти.

Замеры по RDTSC показывают (копирование спрайта 16 бит->32 бит экран):

1) 1532 тика при работе со SDRAM
2) 8169 при работе с видеопамятью, с захватом шины.
3) 3400 при параллельно работающем BMDMA в районе AGP Aperture ...


Название: Объясните ламеру, что такое ОС реального времени ?
Отправлено: olej от Апреля 02, 2004, 11:54:02 am
Разговор рассыпался на "нити", и все они приняли достаточно интересный (по крайней мере - конкретный) оборот... Поэтому придётся как-то обсуждать "по нитям":

о различии скоростей RTOS & GPOS (кстати, хорошо бы ещё определиться различаются ли они и чем именно, Evgeniy вот здесь:
http://qnxclub.net/files/articles/RemarksOnTheMargins/RemarksOnTheMargins.html
- предположительно отвечает что "нет" ).

klalafuda пишет:
обьясняя снижение производительности хоть чем-то, пускай даже непонятным желанием разработчиков использовать все четыре кольца защиты ? это больше похоже на black magic

Ян, тезис о принципиально более низкой производительности RTOS выдвигали коллективно кто-то из "корифеев": может вы, может lestat, dmi и т.д. - я не помню точно. Поэтому, вместо утверждений что всё "очень плохо" - вы бы изложили своё компетентное мнение.

Evgeniy пишет:
Ну и что? В чем здесь "некорректность" GPOS? И почему использование более тонкой градации прав обязательно должно приводить к снижению производительности системы? Простите, но я не вижу здесь связи.

Я о "некорректности" вообще не говорил. RTOS VxWorks вообще использует единое адресное пространство и для системы и для приложений.

А вот более тонкие градации, IMHO, могут приводить к некоторой потере производительности (в микроядерной OS, не RTOS - но микроядерная архитектура оптимальна для RTOS):
выполняем open() к файловой системе... Нужно:
- доставить сообщение микроядру (переключение с контекста кольца 3 к 0);
- микроядру коммутировать мообщение к менеджеру fs(переключение с контекста кольца 0, скажем, к 1);
- ... обратный процесс (MsgReply): 1->0->3;
Итого: 4 переключения.
Тот же open() в моноядерной OS потребует 2-х: 3->0->3.

Вы сами говорите, что это не имеет отношения к архитектуре - вы сами просите больше работы от системы (более точное время) и сами догружаете этой работой машину. В любой другой ОС будет все то же самое. Так при чем же здесь RTOS vs. GPOS?

Естественно, к различиям RTOS vs GPOS это не имеет ни малейшего отношения. Но мы пытаемся ответить на вопрос со стороны пользователя: "почему я субъективно наблюдаю замедленность QNX по сравнению с Win?". Так вот один из факторов: за большую "плавность хода" нужно платить.

И вот здесь у меня вспомнилось соображение, которое я как-то забыл. Собственно, возникло оно в разговоре с Володей Зайцевым на одном из семинаров, проводимых RTSU. RTSU демонстрировали что-то из сврих программных систем, что-то из SCADA (Silver?), сделанных специально под QNX (GUI под Photon)... И мы обратили внимание, что "всё летает в лёт" на компьютере (достаточно слабеньком), на котором только перед тем под Windows всё было очень тормознуто... Потом я об этом как-то мельком поговорил и с директором RTSU Игорем Лапко и с разработчиками Silver...

Вот с тех времён у меня есть такое подозрение:
- архитектура и API QNX очень специфичны...
- но весьма большая часть используемого ПО - это механически портированные в QNX GNU/POSIX приложения, которые написаны (по идеологии своей, а не синтаксически) с оглядкой и ориентацией на архитектуру монолитных UNIX;
- и такие портированные приложения в QNX выглядят заметно более тормознуто, чем их братья...
- а вот то, что оригинальные приложения, срланированные под QNX архитектуру будут заведомо тормознутыми - в этом я с того раза сильно засомневался.

P.S. Последнее, возможно, в меньшей степени относится к Photon и приложениям, работающим под ним... Смотреть надо.

Но это так - в порядке гипотезы.


Название: Объясните ламеру, что такое ОС реального времени ?
Отправлено: klalafuda от Апреля 02, 2004, 12:12:10 pm
---cut---
klalafuda пишет:
обьясняя снижение производительности хоть чем-то, пускай даже непонятным желанием разработчиков использовать все четыре кольца защиты ? это больше похоже на black magic
 
Ян, тезис о принципиально более низкой производительности RTOS выдвигали коллективно кто-то из "корифеев": может вы, может lestat, dmi и т.д. - я не помню точно. Поэтому, вместо утверждений что всё "очень плохо" - вы бы изложили своё компетентное мнение.
---cut---

afair я такого принципиального и всеохватывающего постулата применительно к RTOS в целом и QNX в частности не выдвигал

почему иногда тормозит.. не знаю как там с точки зрения высоких теорий, но почему допустим в QNX4 тормозят файловая система, драйвера ATA/ATAPI и TCP/IP и так понятно - так сделано. кстати, сделано зачастую нативными разработчиками из QSS, а не портировано с BSD/GNU или еще откуда [это не относится к стеку TCPIP].

ну а с точки зрения меня, пользователя, совершенно все равно, почему именно я не могу получить желаемые 30Mb/s на запись при доступе к жесткому диску. не работает и все тут. so в проектах допустим со stream video QNX свободен. общение народа в QUICS на протяжении последних трех лет это только подтверждает. далкео не один человек желал поиметь high speed data storage sollution на QNX4/6. ответом было молчание..

---cut---
Вот с тех времён у меня есть такое подозрение:
- архитектура и API QNX очень специфичны...
- но весьма большая часть используемого ПО - это механически портированные в QNX GNU/POSIX приложения, которые написаны (по идеологии своей, а не синтаксически) с оглядкой и ориентацией на архитектуру монолитных UNIX;
- и такие портированные приложения в QNX выглядят заметно более тормознуто, чем их братья...
- а вот то, что оригинальные приложения, срланированные под QNX архитектуру будут заведомо тормознутыми - в этом я с того раза сильно засомневался.
---cut---

зачем тогда вообще в QNX идет почти маниакальная гонка за совместимость с POSIX ? если я все равно не смогу использовать систему как RTOS для запуска моих POSIX based приложений. точнее, использование QNX мне ничего принципиально нового не даст [если не наоборот] бо чтобы дало мне нужно всю мою систему перелопачивать под QNX native API. от радость то..

// wbr


Название: Объясните ламеру, что такое ОС реального времени ?
Отправлено: QNXCraft от Апреля 02, 2004, 03:14:55 pm
Нет ли способа вкл/выкл по необходимости кольца защиты памяти?


Название: Объясните ламеру, что такое ОС реального времени ?
Отправлено: olej от Апреля 02, 2004, 03:35:57 pm
О кластерах и распараллеливаемости.

QNXCraft пишет:
1)Алгоритмы распараллеливания мы здесь не рассматриваем. Но можно запросто распараллелить даже однонитчатую задачу если в наличии имеется несколько машин - запустить на каждой клиента и просто раздать им по куску массива, нехай считают. Но есть и более эффективные методы.
И это абсолютно правильно, если мы говорим об RTOS vs GPOS - если некоторая задача имеет некоторую степень распараллеливания (это внутренний показатель задачи), то максимальная степень её параллельного исполнения не будет зависить от типа OS. Так же точно, вообще-то говоря, и от того RT или GP - эта OS. Здесь можно только говорить о степени простоты и эффективности реализации в зависимости от архитектуры OS: моноядерная или микроядерная. Поэтому об распараллеливаемости алгоритмов давайте здесь не говорить - это не имеет отношения к предмету.

ee пишет:
теоретически - да, практически - насколько я могу себе представить - больше всего масштабируемость используется при работе с базами данных и веб-приложениями, которые являются теми же базами данных.
Совсем не обязательно (см. ниже), и даже наоборот: а).для параллельной работы с БД куда эффективнее SMP-решения (и QNX как раз - очень эффективна в плане реализации SMP, QSSL - обещают) и б).трудно даже представить когда манипуляция с БД (или в том потоке, который манипулирует с БД) требуется realtime.

ee пишет:
так в числодробительных приложениях ваш жесткий риалтайм еще более нафиг не нужен ;-)
А вот это уже - категорически неверно. Перечисляю (это только самое начало списка):
- радио/гидро-локация - перелопачивание потока;
- пассивная локация - отождествление отметок с различных баз (здесь пока Intel 4Hhz - захлёбывается, этого мало);
- ионосферные измерения, некогерентное рассеяние, напр.;
- селекция движущихся целей - во всех системах локации и целеуказания;
- решение задач балистики в режиме текущего времени (изменяющихся условий);
... и это только самое малое начало.
Правда, формулирвка должна быть несколько другая (обратная): "в жестких риалтайм условиях числодробительная производительность".

ee пишет:
бывает-бывает. Навскидку - обработка массива данных до первого появления "события" или когда обработка следующего зависит от предыдущего.
Или всякие бифуркации и прочая, когда X=F(X[i-1])
или же рекурсия/обходы по границам.

А я говорю - не бывает, потому как практически занимался превращением последовательностных алгоритмов в более-менее подлежащие распараллеливанию:
- обработку "до первого события" - можно делать по секциям массива - до первого обнаружения события в секции;
- когда "зависит от предыдущего" - это иттерационность, так вот от прямой иттерационности нужно избавляться, это - алгоритмическими ухищрениями;
- рекурсия/обходы по границам - любой рекурсивный алгоритм может быть превращён в циклический, для того есть даже формальные методы, когда и думать не нужно.

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

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

gleb пишет:
Да забейте вы на это, пользуйтесь qnet - там всё быстро ))))
В другую крайность, в эйфорию - тоже не нужно впадать, особенно на 2.8ГГц .
QNET не может быть быстрее IP по крайней мере:
- во-первых, из теории: передачи по QNET - это передача микросообщений, а они - синхронные, в отличие от ассинхронных передач IP;
- во-вторых, из практики: я где-то раньше в форуме приводил сравнительные цифры для QNET, ftp, tftp ... - они практически совпадают (15-20% нельзя считать разницей, а нужно относить на ошибки эксперимента), и, в принципе, той же величины, что и SMB, по-крайней мере со стороны клиента fs-cifs;
- в-третьих, QNET можно запустить над MAC уровнем, и над IP - скорости при этом, хоть и не разительно, но отличаются... Так мы об каком говорим - "быстро"?


Название: Объясните ламеру, что такое ОС реального времени ?
Отправлено: olej от Апреля 02, 2004, 03:49:03 pm
QNXCraft пишет:
Нет ли способа вкл/выкл по необходимости кольца защиты памяти?

Нет, это вы... "слишком глубоко копаете" - это как бы спросить: "Нет ли возможности переписать OS".

Корректнее будет спросить: "Нельзя ли оптимизировать по скорости QNX?".

- Можно.
Настройками, выбрасывая отдельные сервисы, изменяя размер кэша файловой системы, может - пакетную файловую систему удалить и т.д. Я слышал от многих здесь в форуме, что им удавалось существенно повысить скорость медленных машин.
Особенно преуспел в этом ed1k.
Но это всё: руками, руками, руками - методом проб и ошибок.

P.S. А вот к некорректным настройкам QNX очень критична: здесь в форуме описывалось копирование файлов по QNET, которое шло минутами... и др. смешные случаи.

Т.е. IMHO - прежде чем что-то крутить на оптимизацию, нужно всё накрутить на отсутствие ошибок конфигурации.

Я, например, на процессорах >500Mhz с достаточной памятью - просто не вижу никаких задержек и не испытываю проблем... Может у меня со зрением плохо?


Название: Объясните ламеру, что такое ОС реального времени ?
Отправлено: olej от Апреля 02, 2004, 04:23:18 pm
klalafuda пишет:

зачем тогда вообще в QNX идет почти маниакальная гонка за совместимость с POSIX ? если я все равно не смогу использовать систему как RTOS для запуска моих POSIX based приложений.

Ведь не совсем так? Это несколько передёрнутая формулировка:
"если я все равно не смогу использовать систему на максимальной производительности (а совмем не "как RTOS" - как было в оригинале) для запуска моих POSIX based приложений."

точнее, использование QNX мне ничего принципиально нового не даст [если не наоборот] бо чтобы дало мне нужно всю мою систему перелопачивать под QNX native API. от радость то..

Радость, а почему нет?
RTOS - это, прежде всего, инструмент для написания индивидуальных realtime целевых систем, а эти - они не бывают: портируемые, переносимые... и т.д. Они - индивидуальные, например, система управления каким-то ж/д локомотивом.

POSIX API - это только обёртки, хоть их используй, хоть native QNX API - разницы заметной по производительности не будет. Но если в архитектуре этой целевой realtime системы заложены... QNX "архитектурные предпочтения", т.е. целевая система заточена под структуру OS - вот она и будет летать в лёт.

А POSIX API - кроме переносимости и портируемости - это ещё и вопросы сложности обучения команды разработчиков (native API vs POSIX API). И совсем таки неоднозначный вопрос: а что же важнее - POSIX для переносимости, или POSIX для обучения.


Название: Объясните ламеру, что такое ОС реального времени ?
Отправлено: Evgeniy от Апреля 02, 2004, 06:37:08 pm
Olej
Evgeniy пишет:
Ну и что? В чем здесь "некорректность" GPOS? И почему использование более тонкой градации прав обязательно должно приводить к снижению производительности системы? Простите, но я не вижу здесь связи.

Я о "некорректности" вообще не говорил. RTOS VxWorks вообще использует единое адресное пространство и для системы и для приложений.

Я имел в виду этот фрагмент из вашего предыдущего постинга:
"В принципе, нечто подобное и дОлжно ожидать - это плата за устойчивость и корректность... - об этом уже много в форуме говорилось."

Olej

А вот более тонкие градации, IMHO, могут приводить к некоторой потере производительности (в микроядерной OS, не RTOS - но микроядерная архитектура оптимальна для RTOS):
выполняем open() к файловой системе... Нужно:
- доставить сообщение микроядру (переключение с контекста кольца 3 к 0);
- микроядру коммутировать мообщение к менеджеру fs(переключение с контекста кольца 0, скажем, к 1);
- ... обратный процесс (MsgReply): 1->0->3;
Итого: 4 переключения.
Тот же open() в моноядерной OS потребует 2-х: 3->0->3.

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

На тех измерениях на fs-cifs я лишний раз убедился в том, что влияние архитектурных различий на производительность системы практически не заметно на фоне затрат на выполнение основной работы. В этом же меня убеждает и Darwin (OS X). Конечно, если забудете о всяких "массовых" операциях и за каждым байтом данных вы будете лазить прямиком на устройство, то эти различия станут более заметны, но это уже проблема не ОС, а автора приложения... Видел я как-то "суперструктурную" програмку на PL/I, в которой операторы ввода-вывода были "инкапсулированы" внутри индивидуальных процедур - по процедуре на оператор... Но это уже клиника...

Olej
Evgeniy пишет:
Вы сами говорите, что это не имеет отношения к архитектуре - вы сами просите больше работы от системы (более точное время) и сами догружаете этой работой машину. В любой другой ОС будет все то же самое. Так при чем же здесь RTOS vs. GPOS?

Естественно, к различиям RTOS vs GPOS это не имеет ни малейшего отношения. Но мы пытаемся ответить на вопрос со стороны пользователя: "почему я субъективно наблюдаю замедленность QNX по сравнению с Win?". Так вот один из факторов: за большую "плавность хода" нужно платить.

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


Название: Объясните ламеру, что такое ОС реального времени ?
Отправлено: QNXCraft от Апреля 02, 2004, 07:02:16 pm
gleb
А клавиатура - это по умолчанию задержки на повтор большие стоят. Указываем в input.localhost руками параметры клавиатуры и мыши - и всё опять-таки работает быстро.

Можно для примера эти строчки из input.localhost

Похожего файла типа input.${LOCALHOST} я не нашел вообще. Нет в 6.2.1 на моем компе и каталога /etc/config/trap/
Зато есть каталоги /etc/system/trap и /etc/system/config

Нашел некий файл /etc/system/enum/input , там прописана клавиатура и мышка, но что и как там править не понятно. Нет там параметров задержки.


Название: Объясните ламеру, что такое ОС реального времени ?
Отправлено: ee от Апреля 02, 2004, 11:22:44 pm
lestat
ee
Ну не может одна и та же ассемблерная команда выполнятся разное время в разных осах, работающих в одном и том же режиме не одном и том же процессоре!
Легко:
1) Разные тайминги на памятях (видеопамять, shared memory на PCI/ISA).

вообще-то изначально и вопрос и мое возражение было про операции с плавающей точкой.
lestat

2) Параллельная работа DMA или BM DMA и одновременное обращение к этой же памяти.

а что, от этого что-то должно тормозится ?

lestat

Замеры по RDTSC показывают (копирование спрайта 16 бит->32 бит экран):

упасть.
А про кэши вам папа карло должен напоминать, да ?

lestat

1) 1532 тика при работе со SDRAM
2) 8169 при работе с видеопамятью, с захватом шины.
3) 3400 при параллельно работающем BMDMA в районе AGP Aperture ...


Название: Объясните ламеру, что такое ОС реального времени ?
Отправлено: ee от Апреля 02, 2004, 11:50:01 pm
Olej
ee пишет:
теоретически - да, практически - насколько я могу себе представить - больше всего масштабируемость используется при работе с базами данных и веб-приложениями, которые являются теми же базами данных.
Совсем не обязательно (см. ниже), и даже наоборот: а).для параллельной работы с БД куда эффективнее SMP-решения (и QNX как раз - очень эффективна в плане реализации SMP, QSSL - обещают)

Ясен пень, что для многониточных-многпроцессных эффективнее, чем по сети гонять.
Но только  сколько может быть процессоров -1-2-4 ?, больше живьем нико не видел
Olej

 и б).трудно даже представить когда манипуляция с БД (или в том потоке, который манипулирует с БД) требуется realtime.

нежесткий - в банковских-бухгалтерских-АСУ предприятия, резервироанние билетов..
Olej
ee пишет:
так в числодробительных приложениях ваш жесткий риалтайм еще более нафиг не нужен ;-)
А вот это уже - категорически неверно. Перечисляю (это только самое начало списка):
- радио/гидро-локация - перелопачивание потока;

я сказал - "ваш" "жесткий" ;-)
У нас - риалтайм "мягкий", не путать с "мелко-мягким" ;-) а все "жесткое" на уровне от миллисекунд и меньше - засовывается в контроллеры. Для всех перечисленных приложений DSP - это как раз самое то для чего DSP процессоры делаются, так шо опять-таки - нафиг жесткий риалтам на уровне писюка, особенно если расплачиваться за это приходится производительностью
Olej
ee пишет:
бывает-бывает. Навскидку - обработка массива данных до первого появления "события" или когда обработка следующего зависит от предыдущего.
Или всякие бифуркации и прочая, когда X=F(X[i-1])
или же рекурсия/обходы по границам.
А я говорю - не бывает, потому как практически занимался превращением последовательностных алгоритмов в более-менее подлежащие распараллеливанию:

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

большой объем счетных задач типа интегрирования, нелинейной динамики/хаоса и  моделирования сложных систем...
Ну и задачи управления движением например.
Olej
ну возьмите учебный пример с быстрой сортировкой и распарралельте
- это вы имеете в виду быструю рекурсивную сортировку со слиянием - так она как раз приводится как пример хорошего распараллеливания: там как-раз на каждом этапе весь объём делится пополам и дальше половины задачи - продолжайте выполнять на 2-х узлах и т.д.

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


Название: Объясните ламеру, что такое ОС реального времени ?
Отправлено: QNXCraft от Апреля 03, 2004, 02:46:51 am
ee
вообще-то изначально и вопрос и мое возражение было про операции с плавающей точкой.

Да еще с одной единственной командой... ))))
Будте реалистом.


Название: Объясните ламеру, что такое ОС реального времени ?
Отправлено: gleb от Апреля 03, 2004, 07:15:29 am
QNXCraft
Можно для примера эти строчки из input.localhost

Похожего файла типа input.${LOCALHOST} я не нашел вообще. Нет в 6.2.1 на моем компе и каталога /etc/config/trap/
Зато есть каталоги /etc/system/trap и /etc/system/config

Да, ошибся - /etc/system/trap. А файла этого по умолчанию там нет, и происходит автоматическое определение устройств ввода (см. help по inputtrap).

У меня прописано так:
devi-hirun kbd -k40,50 kbddev ps2 mousedev

Эту строчку (без -k40,50) я взял, посмотрев через psin, с какими параметрами загружен devi-hirun. А -k40,50 - это частота 40Гц и задержка перед первым повтором 50мс (можно посмотреть ps devi-hirun).


Название: Объясните ламеру, что такое ОС реального времени ?
Отправлено: lestat от Апреля 03, 2004, 10:45:28 am
ee
вообще-то изначально и вопрос и мое возражение было про операции с плавающей точкой.


Это имеет значение ? При операциях с плавающей точкой при загрузке и сохранении память не используется ?

ee
а что, от этого что-то должно тормозится ?

А вас две шины от памяти идут ? Даже если многоканальный контроллер от этого не спасает.

ee
упасть.
А про кэши вам папа карло должен напоминать, да ?

Ну когда поднимешься, то подумай над своим вопросом, ок ? Почитай на досуге книжечки умные ... Cache hits/misses дают разброс +/- 20-30 тиков от тех чисел, что я написал, объяснить почему ? Или же вроде человек неглупый (даже кэши знаешь) - сам поймешь ?


Название: Объясните ламеру, что такое ОС реального времени ?
Отправлено: lestat от Апреля 03, 2004, 10:57:38 am
ee
нежесткий - в банковских-бухгалтерских-АСУ предприятия, резервироанние билетов..


Да я смотрю - вы, батенька - оптимист, резервирование билетов в мягеньком realtime Простите, а вы не шаман часом ? Можете предсказать время выборки определенной группы записей, время разлочки рекорда ? При нагрузке в 500 POS'ов ?


Название: Объясните ламеру, что такое ОС реального времени ?
Отправлено: ee от Апреля 04, 2004, 01:29:30 am
QNXCraft
ee
вообще-то изначально и вопрос и мое возражение было про операции с плавающей точкой.
Да еще с одной единственной командой... ))))
Будте реалистом.

Я такую чушь не говорил. А насчет  реализма - еще раз - возьмите любой простейший тест производительности и попробуйте, после чего про можете про реализм говорить
lestat
Это имеет значение ? При операциях с плавающей точкой при загрузке и сохранении память не используется ?

а что используется видеопамять, да ? или shared memory на PCI/ISA ? Вы еще про разные времена на чтение-запись забыли упомянуть для полного щастья
lestat
ee
а что, от этого что-то должно тормозится ?
А вас две шины от памяти идут ? Даже если многоканальный контроллер от этого не спасает.

если не спасает, то какой глубокий смысл в DMA ? и как организовать это "Параллельная работа DMA или BM DMA и одновременное обращение к этой же памяти. " - выключить все кэши ?
lestat
ee
упасть.
А про кэши вам папа карло должен напоминать, да ?
Ну когда поднимешься, то подумай над своим вопросом, ок ? Почитай на досуге книжечки умные ... Cache hits/misses дают разброс +/- 20-30 тиков от тех чисел, что я написал, объяснить почему ? Или же вроде человек неглупый (даже кэши знаешь) - сам поймешь ?

Щаз(тм)
повтори свои тесты в цикле и подумай над результатом, плюс не забудь что для видопамяти свои заморочки с кешами.


Название: Объясните ламеру, что такое ОС реального времени ?
Отправлено: ee от Апреля 04, 2004, 01:32:32 am
lestat
ee
нежесткий - в банковских-бухгалтерских-АСУ предприятия, резервироанние билетов..

Да я смотрю - вы, батенька - оптимист, резервирование билетов в мягеньком realtime Простите, а вы не шаман часом ? Можете предсказать время выборки определенной группы записей, время разлочки рекорда ? При нагрузке в 500 POS'ов ?

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


Название: Объясните ламеру, что такое ОС реального времени ?
Отправлено: ed1k от Апреля 04, 2004, 06:40:53 am
ee
если не спасает, то какой глубокий смысл в DMA ?

видимо смысл DMA в том, чтобы записать/прочитать данные в/из памяти системы внешним устройством (разумеется, находящимся на шине для устройств расширения, например типа ISA или PCI) без участия ЦПУ. ЦПУ при этом отдыхает. Понятно, что один и тот же код будет выполнятся разное время при условиях частых запросов на захват шины от периферии и при отсутствии таковых. Хотя о чем вы спорите, я не понимаю.
Тормознутость отдельных частей QNX - это не "плата за реалтайм", а кривость рук (или прямизна извилин) тех, кто те части реализовывал... но, скорее всего, просто нехватка времени на реализацию того, что большие боссы считают ненужным или второстепенным. IMO.
Про билеты оставлю lestat-у высказаться, если захочет Хотя думаю, что вы в определениях мягкого/жесткого РТ расходитесь.


Название: Объясните ламеру, что такое ОС реального времени ?
Отправлено: QNXCraft от Апреля 04, 2004, 06:41:58 pm
Справедливости ради, по поводу использования QNX в качестве Web-сервера и роутера. Сейчас качаю через него образ CD на Windows-рабочую станцию, выхожу в интернет (пишу это сообщение) и на сервере запущена сборка баааальшой программы(загружены Фотон,MC,терминал), процессор(P1 233Mhz, мама китайская) задействован на 100% память(128М) на 50%. Несмотря на это, не наблюдается снижение скорости закачки и каких либо тормозов(даже наоборот порой) и загрузки страничек как обычно, канал задействован почти полностью...


Название: Объясните ламеру, что такое ОС реального времени ?
Отправлено: klalafuda от Апреля 05, 2004, 05:30:07 am
---cut---
Справедливости ради, по поводу использования QNX в качестве Web-сервера и роутера. Сейчас качаю через него образ CD на Windows-рабочую станцию, выхожу в интернет (пишу это сообщение) и на сервере запущена сборка баааальшой программы(загружены Фотон,MC,терминал), процессор(P1 233Mhz, мама китайская) задействован на 100% память(128М) на 50%. Несмотря на это, не наблюдается снижение скорости закачки и каких либо тормозов(даже наоборот порой) и загрузки страничек как обычно, канал задействован почти полностью...
---cut---

скорость передачи из внешней сети поди 1..10 kb/s ? дык а то, это ему что слону дробина

вы попробуйте загрузить 100MBit по полной. скажем на самбе. под 8..10Mb/s. ощущения поменяются.

// wbr


Название: Объясните ламеру, что такое ОС реального времени ?
Отправлено: lestat от Апреля 05, 2004, 07:44:11 am
ee
а что используется видеопамять, да ? или shared memory на PCI/ISA ? Вы еще про разные времена на чтение-запись забыли упомянуть для полного щастья

Легко, при формировании координат в OpenGL
ee
если не спасает, то какой глубокий смысл в DMA ? и как организовать это "Параллельная работа DMA или BM DMA и одновременное обращение к этой же памяти. " - выключить все кэши ?

Да причем тут кэши. Весь код не состоит только из комманд загнать в память или считать с нее, а еще и куча математики, при выполнении которой идет простой шины + арбитраж.
ee
Щаз(тм)
повтори свои тесты в цикле и подумай над результатом, плюс не забудь что для видопамяти свои заморочки с кешами.

В цикле, гыгы ? Мне все время кажется, что меня путают с кем-то другим ? А как ты думаешь работает Blitting ? В цикле с произвольным stride по текстуре. -30 тиков при попадании в кэш, если успеешь все за время одного кванта времени ядра. Не успеешь, то количество тиков CPU*на количество квантов времени ядра.


Название: Объясните ламеру, что такое ОС реального времени ?
Отправлено: lestat от Апреля 05, 2004, 07:45:23 am
ee
предсказать не могу, однако наблюдая все это в процессе(покупки билетов) можно сделать вполне определенный вывод что внутре явно не жесткий риалтайм.

Тут вообще никакой не рилтайм. И им там не пахнет.


Название: Объясните ламеру, что такое ОС реального времени ?
Отправлено: Evgeniy от Апреля 05, 2004, 04:58:37 pm
klalafuda
вы попробуйте загрузить 100MBit по полной. скажем на самбе. под 8..10Mb/s. ощущения поменяются.

Ян! Да не поменяется
Не сочтите за труд взглянуть сюда: http://www.qnxclub.net/files/articles/smbspeed/smbspeed.html - возможно ваше мнение изменится...


Название: Объясните ламеру, что такое ОС реального времени ?
Отправлено: QNXCraft от Апреля 05, 2004, 05:45:51 pm
klalafuda
скорость передачи из внешней сети поди 1..10 kb/s ? дык а то, это ему что слону дробина  

Скорость по внешней сети близка к 60-63Кбитам (64 - максимум). По локалке, работает самба, MSIE, Карточка 100Мбит. Именно, что независимо от загрузки процессора, он находит время маршрутизировать пакеты, так что интернет вообще не затормозился. В аналогичной ситуации под Линуксом скорость не более 1Кбита/с или совсем пропадает.


Название: Объясните ламеру, что такое ОС реального времени ?
Отправлено: klalafuda от Апреля 05, 2004, 06:36:33 pm
---cut---
Ян! Да не поменяется  
Не сочтите за труд взглянуть сюда: http://www.qnxclub.net/files/articles/smbspeed/smbspeed.ht
---cut---

интересное тестирование, хотя условия несколько искуственные но допустим.

---cut---
ml - возможно ваше мнение изменится...
---cut---

нет, оно только подтвердилось. берем вполне жизненную с точки зрения WS конфигурацию, S1 + WS3:

S1: Pentium 4/1700MHz/256MB DDR/SiS PCI Fast Ethernet 100Mbod/Win200ProSP2;

WS3: Pentium 4/1600MHz/256MB RDRAM/3Com 3C905C-TX 100Mbod.

Surecom 8-port 100M Mini Switch EP 808X R.

..вполне приличные машинки, у самого нечто навроде этого:

S1: Celeron 933MHz/128Mb/Intel Dual 82559 100MBit
NetBSD1.6.1/samba 3.0.2

WS: Celeron 1.8GHz/256Mb/RTL8139 100Mbit
Win2k/SP3

eLine 16-port Dual Speed 10/100 Hub (дешевка полная, но как-то да работает).

для QNX имеем:
Write,4096B   5562.90 Kb/s
Read, 4096B   5715.10 Kb/s

..у меня так медлено даже Win2k не работает в реальных условиях 8Mb/s выжимается без всяких проблем даже с учетом обоих файловых систем и всех-всех-всех (Win2k/NTFS + NetBSD/FFS). скорость не зависит от направления передачи.

нужно будет тест попробовать, может и больше будет если мы исключим FFS.

ну да бог с ними, со скоростями. 5.5Mb/s - это то-же вполне достойно. для доступа к памяти конечно.

однако, тут не указан самый интересный параметр: а на сколько загружен процессор во время тестирования ? вы можете что-то осмысленное делать на сервере в это время ? допустим, это сборка достаточно сурового проекта. не скажу за QNX6, но для BSD пересборка всей системы вполне подходит. или, если это web сервер, как он будет при этом отвечать клиентам ? можно и другие задачи придумать.

в свое время было очень забавно наблюдать самбу на QNX4. подобных тестов на память я там не проводил и скорость там конечно ограничивалась скоростью доступа в жесткому диску на стороне QNX. afair в сумме на чтение это было что-то в районе 1.7..2.5Mb/s. медлено конечно, но проблема была даже не в этом. проблема была в том, что при такой "загрузке" системы, она могла *только* передавать данные через самбу. до полного завершения передачи. все остальные процессы были полностью забыты. что конечно несколько напрягало.. после достаточно долгих и бесплодных попыток хоть что-то поправить, машина естественным образом потеряла перспективы работать в роли сервера.. хотя теоретически, все в принципе работало

ps: реализация [коде] - это какое-то издевательство

// wbr


Название: Объясните ламеру, что такое ОС реального времени ?
Отправлено: klalafuda от Апреля 05, 2004, 06:40:28 pm
---cut---
Скорость по внешней сети близка к 60-63Кбитам (64 - максимум). По локалке, работает самба, MSIE, Карточка 100Мбит. Именно, что независимо от загрузки процессора, он находит время маршрутизировать пакеты, так что интернет вообще не затормозился.
---cut---

ну вот, я угадал: в районе 1..10Kb/s это - не нагрузка, это так, модем. было бы странно, если бы очень маршрутизатор не вынес такого "трафика".

---cut---
В аналогичной ситуации под Линуксом скорость не более 1Кбита/с или совсем пропадает.
---cut---

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

// wbr


Название: Объясните ламеру, что такое ОС реального времени ?
Отправлено: Evgeniy от Апреля 05, 2004, 07:23:34 pm
klalafuda
..у меня так медлено даже Win2k не работает в реальных условиях 8Mb/s выжимается без всяких проблем даже с учетом обоих файловых систем и всех-всех-всех (Win2k/NTFS + NetBSD/FFS). скорость не зависит от направления передачи.

нужно будет тест попробовать, может и больше будет если мы исключим FFS.

Очень может быть и больше, если объем данных сопоставим с размерами кэша на клиенте... Ведь на Win (в отличие от QNX) обмен по SMB локально кэшируется - я специально увеличивал объем передачи чтобы уменьшить влияние локального кэша. В противном случае вы будете марять не столько пропускную способность SMB сколько пропускную способность кэша

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

А как загрузка сервера может отразиться на результатах сравнения клиентов? - она ведь будет инвариантно влиять и на QNX- и на Win-клиентов С определением загрузки процессора на клиенте можно поиграться, но если с тем, как это померять на QNX мне вцелом ясно (скажем, запустить процессорную задачу с приоритетом 1 и мерять остаток процессорного времени вместо idle), то в форточках мне что-то ничего более или менее аналогично корректное не приходит в голову... может подскажете?


Название: Объясните ламеру, что такое ОС реального времени ?
Отправлено: ee от Апреля 06, 2004, 12:20:58 am
lestat
   ee
    а что используется видеопамять, да ? или shared memory на PCI/ISA ? Вы еще про разные времена на чтение-запись забыли упомянуть для полного щастья


Легко, при формировании координат в OpenGL

эээ.... а какой у вас OpenGL ? - это отделный вопрос.
И насколько я в курсе hw опенгля - даже там в видео память может просто плеваться данные, в том числе float, но никак они не участвуют в float-point операциях процессора, хотя бы потому, что чтение из видопамяти намного тормознее записи.
lestat
   ee
    если не спасает, то какой глубокий смысл в DMA ? и как организовать это "Параллельная работа DMA или BM DMA и одновременное обращение к этой же памяти. " - выключить все кэши ?


Да причем тут кэши. Весь код не состоит только из комманд загнать в память или считать с нее, а еще и куча математики, при выполнении которой идет простой шины + арбитраж.

ee

дык и я про это. Если есть еще и куча математики - то DMA никто не мешает и производительность не падает.
lestat
   ee
    Щаз(тм)
    повтори свои тесты в цикле и подумай над результатом, плюс не забудь что для видопамяти свои заморочки с кешами.


В цикле, гыгы ? Мне все время кажется, что меня путают с кем-то другим ? А как ты думаешь работает Blitting ? В цикле с произвольным stride по текстуре. -30 тиков при попадании в кэш, если успеешь все за время одного кванта времени ядра. Не успеешь, то количество тиков CPU*на количество квантов времени ядра.

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


Название: Объясните ламеру, что такое ОС реального времени ?
Отправлено: dmi от Апреля 06, 2004, 01:50:04 am
QNXCraft
процессор(P1 233Mhz, мама китайская)

Не чихает?


Название: Объясните ламеру, что такое ОС реального времени ?
Отправлено: MikeP от Апреля 06, 2004, 09:23:12 am

ee
дык и я про это. Если есть еще и куча математики - то DMA никто не мешает и производительность не падает.


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


Название: Объясните ламеру, что такое ОС реального времени ?
Отправлено: MikeP от Апреля 06, 2004, 04:08:36 pm
Вот кстати по поводу тормозов на QNX: она у меня уже не помню сколько работает шлюзом - нареканий нету.... вот и сейчас - прям в данный момент - идет сборка апача (2.0.49)и никаких тормозов по поводу интернета (squid на QNX-е проксей стоит) соединение с нетом - оптикой 100Мбит/с до провайдера и от него 8 мегабитный канал далее.... одновременно только скачал php5... и вот в форум пишу... и намека на то, что сборка апача идет не видно... а я инетом не один пользуюсь... у меня десяток пользователей так просто по вебу ползают да еще три VPN соединения по перекачке денег одновременно работают.... никто и слова про тормоза не сказал....
вот.


Название: Объясните ламеру, что такое ОС реального времени ?
Отправлено: klalafuda от Апреля 06, 2004, 04:21:29 pm
сэр в состоянии загрузить все 100MBit внешним каналом ? ммм.. завидую белой завистью

// wbr


Название: Объясните ламеру, что такое ОС реального времени ?
Отправлено: ee от Апреля 06, 2004, 10:34:47 pm
MikeP
и никаких тормозов по поводу интернета (squid на QNX-е проксей стоит) соединение с нетом - оптикой 100Мбит/с до провайдера и от него 8 мегабитный канал далее.... одновременно только скачал php5... и вот в форум пишу... и намека на то, что сборка апача идет не видно... а я инетом не один пользуюсь... у меня десяток пользователей так просто по вебу ползают да еще три VPN соединения по перекачке денег одновременно работают.... никто и слова про тормоза не сказал....

(поднявшись с полу)
давно так не смеялся....
У меня когда десяток пользователей по вебу ползают, они на канале 19200 тормозов больших не замечают.
ЗЫ: а мейл-сервера у вас часом не стоит ? а то с новейшими технологиями дыростроительтсва - не проблема засрать такой канал ;-)


Название: Объясните ламеру, что такое ОС реального времени ?
Отправлено: lestat от Апреля 07, 2004, 07:24:28 am
ee
У меня когда десяток пользователей по вебу ползают, они на канале 19200 тормозов больших не замечают

Эстонцы ?

Я один 256Kbit ложу так, что мама не горюй


Название: Объясните ламеру, что такое ОС реального времени ?
Отправлено: MikeP от Апреля 07, 2004, 08:13:43 am
Дело собственно было не в канале, а в том что в ЭТО ВРЕМЯ ШЕЛ ПРОЦЕСС СБОРКИ, и, хотя индикатор загрузки процессора (тот что в фотоне на полке) показывал 100%, про тормоза никто не сказал. Стоит заметить, что пользователи склонны кричать, если например, Western Union тормознет хоть на секунду.... или просто почта больше 2 минут получается...

to ee
Вы бы чтоли поменьше высовывались... у меня конечно много чего стоит... но постинг ваш не в тему...

P.S. хотел бы я посмотреть как вы на 19200 канале 16-40 Гб в месяц через сервак пропустите.... У вас от того и нету тормозов, рордной, что на таком канале можно и 80386 с NetBSD поставить и забыть.


Название: Объясните ламеру, что такое ОС реального времени ?
Отправлено: klalafuda от Апреля 07, 2004, 08:35:58 am
---cut---
P.S. хотел бы я посмотреть как вы на 19200 канале 16-40 Гб в месяц через сервак пропустите.... У вас от того и нету тормозов, рордной, что на таком канале можно и 80386 с NetBSD поставить и забыть.
---cut---

))

у меня 60Gb исходящего трафика вылетало за две-три недели при нулевой загрузке системы.

ps: начните считать хотя бы с 5..10Gb/час.

// wbr


Название: Объясните ламеру, что такое ОС реального времени ?
Отправлено: MikeP от Апреля 07, 2004, 09:16:28 am
как будет такой канал - обязательно попробую...


Название: Объясните ламеру, что такое ОС реального времени ?
Отправлено: ee от Апреля 07, 2004, 12:43:54 pm
MikeP
Дело собственно было не в канале, а в том что в ЭТО ВРЕМЯ ШЕЛ ПРОЦЕСС СБОРКИ, и, хотя индикатор загрузки процессора (тот что в фотоне на полке) показывал 100%, про тормоза никто не сказал. Стоит заметить, что пользователи склонны кричать, если например, Western Union тормознет хоть на секунду.... или просто почта больше 2 минут получается...

да совершенно пофиг что там шел процесс сборки. (a)сборка идет при нормальном приоритете (б) сквиду десять пользователей - глубоко пофиг, особенно на быстром канале, на медленном канале ему как раз труднее - надо больше помнить и больше коннекшенсов держать. А тормоза на секунду заметить весьма проблематично, особенно  на вЕнде ;-)
MikeP

to ee
Вы бы чтоли поменьше высовывались... у меня конечно много чего стоит... но постинг ваш не в тему...

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

P.S. хотел бы я посмотреть как вы на 19200 канале 16-40 Гб в месяц через сервак пропустите.... У вас от того и нету тормозов, рордной, что на таком канале можно и 80386 с NetBSD поставить и забыть.

у меня там - траффик только по http - 3Гб, про остальное, которое стоит на той машине (P133) и про остальное, которое на другом канале - скромно умолчу


Название: Объясните ламеру, что такое ОС реального времени ?
Отправлено: ee от Апреля 07, 2004, 12:53:14 pm
klalafuda
klalafuda
у меня 60Gb исходящего трафика вылетало за две-три недели при нулевой загрузке системы.

ps: начните считать хотя бы с 5..10Gb/час.

вопрос относительно многозадачности к количеству траффика отношения не имеет. Интересно количество пользователей, количество реквестов в сек, среднее/максимальное число коннекшенсов, если траффик от уеб-сервера - то еще интересно какие приложения в каком количестве пущаются.
Кстати о вирусах - попробуйте пропустить такой траффик через антивирус и посмотреть что куда каким раком встанет.


Название: Объясните ламеру, что такое ОС реального времени ?
Отправлено: MikeP от Апреля 07, 2004, 01:17:11 pm
to ee

Ты сюда пипиской мерятся пришел? Все то барахло, которым ты кичишься - оно у тебя под QNX работает? Squid, уважаемый, собрать - как два пальца ....., а вот по поводу многониточности Squid, читайте, мальчик, читайте!!!!
http://www.squid-cache.org/mail-archive/squid-dev/200210/0131.html

Молчали бы лучше...

З.Ы. Я бы тоже много чем мог похвастаться - но здесь обсуждают QNX и я привожу только пример того, что у меня реально работает под QNX.

З.З.Ы. На канале 19200 у вас за месяц максимум 6220800000 байт прокачать можно... учитывая, что передача в обе стороны... да плюс избыточность протоколов... полезной инфы у вас там от силы 4Гб - так что про "у меня там - траффик только по http - 3Гб" - это мальчишество


Название: Объясните ламеру, что такое ОС реального времени ?
Отправлено: klalafuda от Апреля 07, 2004, 01:27:05 pm
---cut---
З.З.Ы. На канале 19200 у вас за месяц максимум 6220800000 байт прокачать можно... учитывая, что передача в обе стороны... да плюс избыточность протоколов... полезной инфы у вас там от силы 4Гб - так что про "у меня там - траффик только по http - 3Гб" - это мальчишество
---cut---

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

это я к тому, что реальный трафик - это одно, тестирование на перегрузку - другое, а внештатные ситуации - это третье. слава богу, никто ничего с меня не качает на 10Gb/час и, как правило, даже в месяц но в критические дни приятно сознавать, что запасу по мощИ на сервере еще выше всяких крыш. и я всегда смогу зайти по ssh и порулить вволю, а не ждать, пока мой httpd или smbd освободится через часик-другой устроив тотальный DoS.

ps: ну вот и померялись пиписьками бо как то еще назвать..

// wbr


Название: Объясните ламеру, что такое ОС реального времени ?
Отправлено: klalafuda от Апреля 07, 2004, 01:30:10 pm
зы: если бы dmi имел с каждого просмотра скажем по 10 копеек..

// wbr


Название: Объясните ламеру, что такое ОС реального времени ?
Отправлено: ee от Апреля 07, 2004, 02:27:09 pm
MikeP
Ты сюда пипиской мерятся пришел?

ет
MikeP
се то барахло, которым ты кичишься - оно у тебя под QNX работает?

ет
MikeP
quid, уважаемый, собрать - как два пальца .....,

ну, покажи свои два пальца - собери сквид 3 со всеми прибамбсами
;-)
MikeP
а вот по поводу многониточности Squid, читайте, мальчик, читайте!!!!
http://www.squid-cache.org/mail-archive/squid-dev/200210/0131.html

kinkie (kinkie-ml [at
libero [dot] it)]
Squid IS multithreaded. It's just multithreaded in the lightest possible
way, namely select() and friends.

у-с-р-а-ц-а
или, если выразится более научно - сквид не является многониточным по определению. Ну нету в нем ниток, кроме как в одном возможном случае в одном внешнем процессе.
Если еще более научно - сквид выполнен по технологии эмуляции многозадачности в dos-стиле.
Если выражаться в более программистском стиле - учите матчасть или man Programming-Guide:
squid-s2_5/doc/Programming-Guide

 Squid is a single-process proxy server.  Every request is
 handled by the main process, with the exception of FTP.
 However, Squid does not use a ``threads package'' such has
 Pthreads.  While this might be easier to code, it suffers
 from portability and performance problems.  Instead Squid
 maintains data structures and state information for each
 active request.

The code is often difficult to follow because there are no
explicit state variables for the active requests.  Instead
thread execution progresses as a sequence of ``callback
functions'' which get executed when I/O is ready to occur,
or some other event has happened.  As a callback function
completes, it is responsible for registering the next
callback function for subsequent I/O.

что касается моей многониточности - то всего-навсего я пару внешних процессов засунул внутрь, в нитки. полюс выкинул форки ;-)
MikeP

Молчали бы лучше

ну и кому тут лучше молчать ?

MikeP
З.Ы. Я бы тоже много чем мог похвастаться - но здесь обсуждают QNX и я привожу только пример того, что у меня реально работает под QNX.

тут обсуждается "Объясните ламеру, что такое ОС реального времени ?" пример со сквидом, сборкой апача и "не тормозит" - неудачный.
MikeP
З.З.Ы. На канале 19200 у вас за месяц максимум 6220800000 байт прокачать можно... учитывая, что передача в обе стороны... да плюс избыточность протоколов... полезной инфы у вас там от силы 4Гб - так что про "у меня там - траффик только по http - 3Гб" - это мальчишество


19200/8*3600*24*30=6.22080000E+9 ?
а почему не 19200/10*3600*24*30=4.97664000E+9 ? ;-)

Во-первых там стоит модем- моторолла, которая обычно дает 19200 в одну сторону и 4800  в другую, хотя во-вторых, там канал падает минимум раз в полчаса-час.
так что 4Гб http + 1 Гб спама как раз примеро и получается


Название: Объясните ламеру, что такое ОС реального времени ?
Отправлено: bob от Апреля 07, 2004, 04:12:16 pm
где этот ламер? Понял он наконец, что такое ОС реального времени?!


Название: Объясните ламеру, что такое ОС реального времени ?
Отправлено: MikeP от Апреля 08, 2004, 08:15:46 am

ee
что касается моей многониточности - то всего-навсего я пару внешних процессов засунул внутрь, в нитки. полюс выкинул форки ;-)


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


ee
у-с-р-а-ц-а
или, если выразится более научно - сквид не является многониточным по определению. Ну нету в нем ниток, кроме как в одном возможном случае в одном внешнем процессе.
Если еще более научно - сквид выполнен по технологии эмуляции многозадачности в dos-стиле.
Если выражаться в более программистском стиле - учите матчасть или man Programming-Guide:


Ну и что, дол$#б, ты хоть свои постинги выше почитай, тыгнул пальцы про сборку многониточного скуида. Я тебе привел урл, объясняющий, что скуид - ОДНОПОТОЧНЫЙ! и вот-те нате, хрен в томате.... ты что, мальчик, подумал, что я тебе доказательства многопоточности скуида привел?
Именно этот урл - потому, что он из mailing list-а, где подобным тебе разъясняли, что скуид, даже замени ты все его процессы на нитки - от этого многониточным НЕ СТАНЕТ!!!

ee
19200/8*3600*24*30=6.22080000E+9 ?
а почему не 19200/10*3600*24*30=4.97664000E+9 ? ;-)

потому, что считаю, что в килобайте 1024 байта а в байте 8 бит

ee
тут обсуждается "Объясните ламеру, что такое ОС реального времени ?" пример со сквидом, сборкой апача и "не тормозит" - неудачный.

Этот постинг к основной теме не относился. это ответ на

klalafuda
однако, тут не указан самый интересный параметр: а на сколько загружен процессор во время тестирования ? вы можете что-то осмысленное делать на сервере в это время ? допустим, это сборка достаточно сурового проекта. не скажу за QNX6, но для BSD пересборка всей системы вполне подходит. или, если это web сервер, как он будет при этом отвечать клиентам ? можно и другие задачи придумать.





ee
ну и кому тут лучше молчать ?

вот и подумай. Ты там блестал знаниями про DMA/OpenGL/и еще много всего разного... что-то резко переключился... зайчик...


Название: Объясните ламеру, что такое ОС реального времени ?
Отправлено: klalafuda от Апреля 08, 2004, 08:21:52 am
take it easy gentlemens hold on..

// wbr


Название: Объясните ламеру, что такое ОС реального времени ?
Отправлено: ee от Апреля 08, 2004, 11:53:13 am
MikeP
   ee
    что касается моей многониточности - то всего-навсего я пару внешних процессов засунул внутрь, в нитки. полюс выкинул форки ;-)


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

изучайте матчасть. сквид может пускать кучу копий внешних процессов, каждый из которых отжирает память, я уж не говорю про то, каким извратным способом он их пускает.
Редиректоров ему, например, нужно не меньше десяти, если конечно пользователей более одного. А у меня, например - только база данных редиректора занимает 2 мб...
MikeP
Я тебе привел урл, объясняющий, что скуид - ОДНОПОТОЧНЫЙ! и вот-те нате, хрен в томате.... ты что, мальчик, подумал, что я тебе доказательства многопоточности скуида привел?

ну почему мальчиками обзываются те, у которых пиписка еще не выросла ? Ты сквид3 собрал ? нет? - свободен!

MikeP
Именно этот урл - потому, что он из mailing list-а, где подобным тебе разъясняли, что скуид, даже замени ты все его процессы на нитки - от этого многониточным НЕ СТАНЕТ!!!

мне честно говоря лень перелопачивать архивы squid-dev для поиска сообщений от основных разработчиков, а не всякой левоты с обсуждением того, что неплохо бы было таки сделать сквид многониточным, но не по нитке на коннекшен, как в oops'е и почему они этим заниматься не будут. А не будут они этим заниматься до тех пор, пока не прийдет человек со стороны и не скажет - ребята, я это сделал, оно работает и переделать ничего не стоит. Примерно так, же как они перешли  с C на С++. Можешь поискать в архиве.

MikeP
потому, что считаю, что в килобайте 1024 байта а в байте 8 бит

а скорость передачи почему-то в битах меряют и почему то для передачи байта требуется 10 бит
MikeP
вот и подумай. Ты там блестал знаниями про DMA/OpenGL/и еще много всего разного... что-то резко переключился... зайчик...

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


Название: Объясните ламеру, что такое ОС реального времени ?
Отправлено: MikeP от Апреля 08, 2004, 12:15:39 pm
ee
Перечислять все, что мной было собрано - не стану - даром только время потрачу. А вот архив скуидовского mail list-а все-таки перелопать... мож поумнеешь...

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

А вообще - здолбало на форуме засилие залетных хамов, эдаких левшей-самоучек, способных с закрытыми глазами собрать 3й скуид, не без помощи DMA и OpenGL-я... :P, считающих, что знают все на свете и имет право не просто раздавать советы... это очень напоминает форумы типа ITC и ZDNet... эдакая навозная куча...

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

З.Ы. Squid 3 всетаки я собирал сам - и это не такая уж проблема. Не для QNX, конечно... на это слишком много времени надо. Да и надо ли это вообще?..


Название: Объясните ламеру, что такое ОС реального времени ?
Отправлено: lestat от Апреля 08, 2004, 12:48:53 pm
ee
а скорость передачи почему-то в битах меряют и почему то для передачи байта требуется 10 бит

В бодах ? isn't it ?

Бод это количество модуляций в единицу времени. Бод != Бит.

За одну модуляцию можно передать и несколько бит, а можно и ни одного - половину. FM, Manchester, NRZ, NRZI.

Это туториал, может интересно станет...
http://www.erg.abdn.ac.uk/users/gorry/course/phy-pages/

Смотреть man.html, nrz.html.


Название: Объясните ламеру, что такое ОС реального времени ?
Отправлено: lestat от Апреля 08, 2004, 01:08:08 pm
ee
дада. чегой-то про формирование OpenGL'ем координат с плавающей точкой в видеораме мне так никто не ответил.

Дык, а что тут отвечать - это азы:

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

4 байта - код операции
----------------------
дальше параметры операции - координаты текстур, указатели на текстуры и т.п. Вот примерчик:

    U032 reserved00[4];
    U016 FifoFree;
    U016 Nop;
    U032 reserved01[0x0BD];
    U032 Pitch;
    U032 RenderBufferOffset;
    U032 ZBufferOffset;

Z buffer может быть как fixed так и floating point, разные видеокарты могут понимать floating в разных стандартах, последние могут тупо принимать float и double.

Такими структурами забиваешь буфер (практически на весь размер видеопамяти, за вычетом экранной области и текстур), затем даешь команду "пошел", срабатывает IRQ, это значит "конец". Заполняешь заново и т.д.

Буфер может находится и в зоне действия AGP, тогда происходит перекачка данных по BusMastering DMA. В освободившихся структурах делается отметка, что задание отработано, тогда можно до срабатывания IRQ начать заполнения новыми данными, либо в back buffer это заполнять для двойной буферизации.

При использовании TnL, можно трансформировать координаты, тогда их надо от туда забрать. Вот и выходит R/W.

ee
как и про то, какой OpenGL пользуется... хомячок...

OpenGL - это API, базировать его можно на каком угодно render'е, пусть это будет OpenGL поверх GLIDE, поверх GLX, продолжать ?

Если конкретно все еще интересует какой OpenGL - Mesa3D.


Название: Объясните ламеру, что такое ОС реального времени ?
Отправлено: ee от Апреля 08, 2004, 10:37:39 pm
MikeP
ee
Перечислять все, что мной было собрано - не стану - даром только время потрачу. А вот архив скуидовского mail list-а все-таки перелопать...

спасибо, я на него подписан, странно что вы про это еще не догадались.
MikeP
ee
 мож поумнеешь...

А вообще - здолбало на форуме засилие залетных хамов,

это вы про себя ? неужели таки самое себя задолбало ?

MikeP
З.Ы. Squid 3 всетаки я собирал сам - и это не такая уж проблема. Не для QNX, конечно... на это слишком много времени надо. Да и надо ли это вообще?..

собрать по дефолту - большого ума не надо, тем более "не для QNX"
MikeP
Вы сюда пришли спросить "что такое ОС реального времени"?
Спрашивайте, ваши загибания пальцев мало кого интересуют... поверьте - не вы один так умеете.... многие умеют лучше вас...

На вопрос о squid'е и реальном времене ответ получен, спасибо.


Название: Объясните ламеру, что такое ОС реального времени ?
Отправлено: ee от Апреля 08, 2004, 10:53:06 pm
lestat
   ee
    а скорость передачи почему-то в битах меряют и почему то для передачи байта требуется 10 бит

В бодах ? isn't it ?

конечно. На 10 делить просто (а) удобно и (б)соответвует действительности при гонянии архивов, а также гифов и жипегов, что составляет весьма большую часть http - траффика

lestat
   ee
    дада. чегой-то про формирование OpenGL'ем координат с плавающей точкой в видеораме мне так никто не ответил.


Дык, а что тут отвечать - это азы:
[...]
Такими структурами забиваешь буфер

ну так "забивание" буфера происходит обычным способом, после чего буфер плюется в видеопамять
lestat
При использовании TnL, можно трансформировать координаты, тогда их надо от туда забрать. Вот и выходит R/W.

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

lestat
Если конкретно все еще интересует какой OpenGL - Mesa3D.

вот это на самом деле я и хотел услышать.
В связи с этим несколько вопросов -
какую версию вы используете, в каком эээ..виде (через иксы, фотон или еще как), пользуете ли HW 3D, я так понял что да, и насколько это HW с риалтаймом согласуется ?
Да, месу для QNX собираете сами или пользуетесь готовым ?

SY,
EK


Название: Объясните ламеру, что такое ОС реального времени ?
Отправлено: lestat от Апреля 09, 2004, 07:38:46 am
ee
конечно. На 10 делить просто (а) удобно и (б)соответвует действительности при гонянии архивов, а также гифов и жипегов, что составляет весьма большую часть http - траффика

Доказанная действительность - это эмпирическая формула:

(Боды / 10 ) * 1.15

ee
ну так "забивание" буфера происходит обычным способом, после чего буфер плюется в видеопамять


Это растраты CPU тиков, буфер находится в зоне действия AGP.

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

Уберем видеопамять - это слишком явный пример Буфер находится в зоне действия AGP. С этим же участком памяти идет активный обмен по BM DMA. В результате получаем что память занимает по очереди CPU (пусть это будет 133MHz для SDRAM) и AGP (66 MHz), таким образом при попытке доступа к памяти, при работающем BM DMA - ЛЮБАЯ КОММАНДА ПРОЦЕССОРА будет занимать больше (и в тоже время разное количество) тактов. Что и требовалось доказать ? Дальше нужно разжевывать ?

ee
какую версию вы используете, в каком эээ..виде (через иксы, фотон или еще как), пользуете ли HW 3D, я так понял что да

Текущая ветка из CVS. Сейчас GLX до появления Photon3D API в драйверах, которые будут в 6.3.

ee
насколько это HW с риалтаймом согласуется ?

HW никакое и никогда не дружит с realtime - потому как отсутсвует предсказуемость.

ee
Да, месу для QNX собираете сами или пользуетесь готовым ?


Простите, а что ее собирать-то ?


Название: Объясните ламеру, что такое ОС реального времени ?
Отправлено: MikeP от Апреля 09, 2004, 09:57:17 am

ee
На вопрос о squid'е и реальном времене ответ получен, спасибо.


Ну вот и замечетельно. Только скуид к реальному времени мало отношения имеет (если имеет вообще). И совет: не гните пальцы - это вызывает либо отвращениу и, возможно неоправданно, складывает о вас не самое лучшее мнение.

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

---------------------
with best regards
MikeP


Название: Объясните ламеру, что такое ОС реального времени ?
Отправлено: MikeP от Апреля 09, 2004, 09:58:17 am
О как! А я вроде не логинился.... хм...


Название: Объясните ламеру, что такое ОС реального времени ?
Отправлено: ee от Апреля 09, 2004, 10:43:46 am
lestat
Доказанная действительность - это эмпирическая формула:

(Боды / 10 ) * 1.15

Ну, значит у вас действительность лучше ;-) У нас - ретрейны и реконнекты
lestat
Текущая ветка из CVS. Сейчас GLX до появления Photon3D API в драйверах, которые будут в 6.3.
    ee
    насколько это HW с риалтаймом согласуется ?

HW никакое и никогда не дружит с realtime - потому как отсутсвует предсказуемость.

ээ... еще раз - вы не пользуетесь HW в QNX или таки пользуетесь в скажем то время, когда риалтайм не нужен ?
Если не пользуетесь - то каким боком тут AGP,
И в любом случае -  как оно все-таки в риалтайме себя ведет, и вообще - может отдельный топик создать - OpenGL и риалтайм, а то у меня может быть еще куча вопросов, весьма далеких от обзывательств оппонента зайчиками и хомячками ?  Есть ли надежда что это может быть интересно более чем двум человекам с эээ....разным философским взглядом на проблемы HW, риалтайма и 3D ?


Название: Объясните ламеру, что такое ОС реального времени ?
Отправлено: ee от Апреля 09, 2004, 10:51:01 am
MikeP
   ee
    На вопрос о squid'е и реальном времене ответ получен, спасибо.



Ну вот и замечетельно. Только скуид к реальному времени мало отношения имеет (если имеет вообще).

тааак.
Записываем дальше - все интернет-сервисы к реальному времени отношения не имеют...
Что у нас дальше ?


Название: Объясните ламеру, что такое ОС реального времени ?
Отправлено: MikeP от Апреля 09, 2004, 11:10:24 am

ee
Записываем дальше - все интернет-сервисы к реальному времени отношения не имеют...


Естественно!


Название: Объясните ламеру, что такое ОС реального времени ?
Отправлено: lestat от Апреля 09, 2004, 11:11:06 am
ee
ээ... еще раз - вы не пользуетесь HW в QNX или таки пользуетесь в скажем то время, когда риалтайм не нужен ?

Это более теоритеческий и философский вопрос Конечно все всё используют, куда же без HW, но предсказуемость ряда аппаратуры желает оставлять лучшего. Начнем с PCI (та же AGP), устройству разрешено вещать только определенное количество времени, кончил/не кончил - 5 минут . Первое устройство - видеокарта. И возьмем к примеру ADC/DAC, который в это время выкладывает данные в свою память, которая видна из процессора как физ. память PCI устройства. Вот - получаем два устройства, которые будут мешать друг другу с аппаратной точки зрения + процессор, который занимается формированием картинки (графика, снимаемых данных). Итого три устройства. И теперь можно строить догадки на сколько все это будет работать в realtime.


Название: Объясните ламеру, что такое ОС реального времени ?
Отправлено: olej от Апреля 09, 2004, 11:53:20 am
ee пишет
предсказать не могу, однако наблюдая все это в процессе(покупки билетов) можно сделать вполне определенный вывод что внутре явно не жесткий риалтайм.

ed1k пишет
Про билеты оставлю lestat-у высказаться, если захочет  Хотя думаю, что вы в определениях мягкого/жесткого РТ расходитесь.

А здесь - все расходятся...
Потому, как и сам термин realtime относительно OS (именно относительно OS, потому как именно так задан вопрос) - он больше коммерческий (рекламный), чем технический... а уж относительно ещё жёсткости или мягкости этого "неизвестно что" так это вообще - на уровне шаманства...
Посмотрите (кто не смотрел), что об сём думают ваши коллеги по этому форуму:

http://qnxclub.net/files/articles/rtos/rtos.html

http://qnxclub.net/files/articles/RemarksOnTheMargins/RemarksOnTheMargins.html

- и в том и в другом случае - очень осторожное (или даже негативное), но только в разной степени - отношение к самому термину realtime OS.


Название: Объясните ламеру, что такое ОС реального времени ?
Отправлено: ee от Апреля 09, 2004, 07:57:58 pm
MikeP

    ee
    Записываем дальше - все интернет-сервисы к реальному времени отношения не имеют...

Естественно!

...и приходим к окончательному выводу - реальная жизнь не имеет отношения к реальному времени.


Название: Объясните ламеру, что такое ОС реального времени ?
Отправлено: dip от Апреля 09, 2004, 11:28:44 pm
Спасибо Олегу за попытку возвратить дискуссию в рамки subj

Olej
http://qnxclub.net/files/articles/rtos/rtos.html


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

Вообще-то AE делает это что-бы решить _свои уникальные_ проблемы возникшие ввиду уникальности их архитектуры.

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

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

Не могу не отметить что здравый смысл подсказывает обратное: если (почти) всё что делает ядро это переключение контекстов то делать оно должно это очень, ну очень быстро. Что кстати подтверждается тестами той же Dedicated Systems.

Ещё одно замечание: я к сожалению не знаком с термином "разделение уровней приоритетов", меня смущает слово разделение но "индивидуальным адресным пространством процессов" можно обвинить любую OS.

Olej
http://qnxclub.net/files/articles/RemarksOnTheMargins/RemarksOnTheMargins.html


Господин Калинский тот ещё чудак, но вторая статья не менее нелепа.

И еще одна оговорка. Я не буду рассматривать «кроссовые» RTOS, которые для построения системы реального времени нуждаются в услугах некоторой другой ОС (как правило «общего назначения») и ограничусь только так называемыми self-hosted RTOS. Связано такое ограничение с тем, что кроссовые RTOS (одна из наиболее известных – VxWorks) не существуют самостоятельно и при функционировании очень тесно интегрируются с прикладными программами управления.

"Номер, сестра? Номер?" Граждане, не пишите о том о чём  знаете только по-наслышке. VxWorks это executive kernel который таки существует сам по-себе с или без "программами правлениями". Не думает ли автор что без его "программ управления" нам не удастся запустить VxWorks?

Если честно нет времени спорить по-поводу каждого мифа в отдельности: сам подход в принципе не верен. Спросите себя сами: если бы вы архитектурили OS для серверного рынка отличалась бы она от того что вы бы наархитектурили для систем управления атомными станциями? Почему например скедулинг в линухе отличается от QNX-овского? Почему windows NT толком не масштабируется а Solaris да? Может быть потому что для определённых требований требуется определённая архитектура? Может хватит при лучине писать и топором бриться?


Название: Объясните ламеру, что такое ОС реального времени ?
Отправлено: Evgeniy от Апреля 13, 2004, 01:26:06 am
dip
Если честно нет времени спорить по-поводу каждого мифа в отдельности: сам подход в принципе не верен. Спросите себя сами: если бы вы архитектурили OS для серверного рынка отличалась бы она от того что вы бы наархитектурили для систем управления атомными станциями? Почему например скедулинг в линухе отличается от QNX-овского? Почему windows NT толком не масштабируется а Solaris да? Может быть потому что для определённых требований требуется определённая архитектура?


Очень жаль, что у Вас нет времени - судя по Вашему заявлению у Вас есть весомые аргументы...
Кроме того, очень жаль, что Ваше мнение не известно в IBM, Apple, Microsoft и т.д. - ведь все они используют одни и те же операционки в самых разных условиях... Например IBM использавала OS/2 и для дэсктопа и для файл/принт-сервера и совместно с ЦУП использовали спарку S/370 в контуре управления полетом "Союз-Аполло"; OS X от Apple успешно используется и как дэсктоп и как сервер и как кластерная система; про Microsoft я и говорить не буду...


Название: Объясните ламеру, что такое ОС реального времени ?
Отправлено: dip от Апреля 13, 2004, 05:20:23 am
Evgeniy
Например IBM использавала OS/2 и для дэсктопа и для файл/принт-сервера


Особенно про принт-сервер умилился. Они когда дезайнили полуось они про эти фичи ни сном ни духом, они её на Луне писали. Ну нахрена лунатикам в оффисе файл/принт-сервера? То ли дело на земле было - царствие WfW.

Чем меня вы могли меня убедить так одним из:
- Word на OS/370
- OS X на Moto 68HC12
- And last but not the least, "five nines" availability of a single Windows-based node

Ну что то ребята из "IBM, Apple, Microsoft и т.д." не торопятся. Видно им деньги на дугих рынках платят


Название: Объясните ламеру, что такое ОС реального времени ?
Отправлено: ee от Апреля 13, 2004, 11:44:45 am
dip
Особенно про принт-сервер умилился. Они когда дезайнили полуось они про эти фичи ни сном ни духом, они её на Луне писали. Ну нахрена лунатикам в оффисе файл/принт-сервера? То ли дело на земле было - царствие WfW.

мальчик, IBM была еще задолго до W и даже D, и принт-серверы делала еще в больших ящиках, так чего бы ей свой опыт и наработки на РС было не перенести ?
dip
Чем меня вы могли меня убедить так одним из:
[...]
- OS X на Moto 68HC12

А эти раздолбаи пусть сначала научатся мобильники делать, чтоб не висли


Название: Объясните ламеру, что такое ОС реального времени ?
Отправлено: olej от Апреля 13, 2004, 01:08:30 pm
Всё это становится неконструктивно...:

А эти раздолбаи пусть сначала научатся мобильники делать, чтоб не висли

Господин Калинский тот ещё чудак, но вторая статья не менее нелепа.

А чем же она "нелепа" - человек с большим опытом в АСУТП, и после многих обсуждений с коллегами, совсем людьми небезызвестными, разъехавшимися ныне по всем странам мира... так вот, в конце концов, приходит к подозрению, что нет такой сермяжной правды, как realtime OS... просто те, кто таковые производят, предполагая область использования и собственную степень ответственности - стараются делать тщательно сделанную OS, в отличии от производителей GPOS, которые таковой тщательностью не обременены.
Это - мнение (верное, неверное, спорное - не важно).

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

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

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

А вот мне, тоже с немалым опытом и разных realtime OS, всё таки ещё не понятно:

- так существуют такие вот принципиально отличные от GPOS - realtime OS ("найдите 5 отличий"(с) ... только не надо мне про "гарантированное время реакции" долдонить!)?

- а как относительно realtime целевых систем (проектов)? они "realtime" - имеют право квалифицироваться? и когда? а для них - наличие realtime платформы: актуально или не очень?

P.S. Наш форум даёт какой-то "удивительный" эффект, когда текст в " помещается в ()... - "... а вы не пробовали слабительное со снотворным? удивительный эффект получается!"(с) М.Жванецкий.


Название: Объясните ламеру, что такое ОС реального времени ?
Отправлено: klalafuda от Апреля 13, 2004, 02:03:21 pm
---cut---
- так существуют такие вот принципиально отличные от GPOS - realtime OS ("найдите 5 отличий"(с) ... только не надо мне про "гарантированное время реакции" долдонить!)?
---cut---

не знаю как насчет подкрепленного списка фундаментальных различий, но какое-то время назад я делал небольшие тесты на механизм Send/Receive/Reply для QNX4.25.

основной процесс форкает пачку дочерних и обменивается с каждым из них заданным количеством сообщений. ну допустим 10^6. все крутится ессно в параллель. измеряется время прохождения теста и считается средяя пропускная способность системы навроде "количество сообщений в секунду".

на сей тест под 4-ку меня сподвигла буча, поднятая Игорем Коваленко из разряда "что криво в 6-ке" и все такое [было дело, тихо загнулось]. цель была сравнить результаты практически одинаковых тестов на QNX4 и QNX6. конечно, были какие-то расхождения и 4-ка на тот момент afair оказалать несколько быстрее, чем 6-ка [не знаю как сейчас]

но суть не в этом. какое-то время спустя, мне потребовалось нарисовать на базе BSD некую систему состоящую из ряда серверов, взаимодействующих друг с другом. с точки зрения QNX, нет ничего проще SRR в руки и вперед и с песней. тут-же дело несколько сложнее бо выбор с одной стороны больше (sockets, System V msg queue || shmem/semaphores etc), а с другой стороны, несколько тяжеловесен для простого SRR. ладно, в конце-концов остановился на UDS (Unix Domain Sockets).

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

если для QNX4 я получал где-то порядка 150..200 тысяч обменов в секунду, то для UDS на NetBSD я не смог получить больше 50..60. аналогичные тесты на FreeBSD принципиальных отличий не показали.

да, в случае с BSD scalability в принципе была выше и, если считать по переданному трафику, BSD afair была как минимум не хуже 4-ки, может и лучше, уже не помню. но количество обменов все равно было значительно ниже, чем для QNX.

в конечном итоге, я все равно остановился на UDS, бо особой пропускной способности мне не требовалось, но разницу я почувствовал что называется на яву.

ничего не скажу за realtime, но различие в архитектурах систем иногда очень даже чувствуется.

// wbr


Название: Объясните ламеру, что такое ОС реального времени ?
Отправлено: olej от Апреля 13, 2004, 04:13:53 pm
... ничего не скажу за realtime, но различие в архитектурах систем иногда очень даже чувствуется.

Вот это - уже какие-то конкретные намётки "в тему", по крайней мере - повод присмотреться что оно к чему... таких вот наблюдений - побольше бы, спасибо...

Только вот это место я не понял:

да, в случае с BSD scalability в принципе была выше и, если считать по переданному трафику, BSD afair была как минимум не хуже 4-ки, может и лучше, уже не помню. но количество обменов все равно было значительно ниже, чем для QNX.

- подробнее можно растолковать, что оно было? "по трафику" - это как? трафик - это ведь производная, скорость... Как при меньшем числе сообщений получался выше трафик? - за счёт разной длины объёма сообщений?


Название: Объясните ламеру, что такое ОС реального времени ?
Отправлено: klalafuda от Апреля 13, 2004, 04:42:24 pm
---cut---
- подробнее можно растолковать, что оно было? "по трафику" - это как? трафик - это ведь производная, скорость... Как при меньшем числе сообщений получался выше трафик? - за счёт разной длины объёма сообщений?
---cut---

ну обе измеряемых величины были производными

процесс A шлет процессу B сообщение длиной x байт (Send). процесс B ожидает сообщения (Receive) и по получению отсылает его обратно (Reply) с той же длиной x. далее, все повторяется по циклу до наступления какого-то заданного количества таких обменов. по желанию, количество процессов может увеличиваться для схемы типа "шлют много - один слушает/отвечает".

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

соотв. измеряются:

1) количество транзакций в секунду, которые мы может передать между процессом A и процессом B. транзакция являет собой закноченный цикл "послал-принял-ответил".

2) трафик - полный объем данных, который мы может передать в процессе обмена между обоими процессами. очевидно, равен количеству транзакций * x * 2.

для QNX4/6 на SRR я наблюдал ситуацию, когда количество транзакций в секунду было порядка 150..200 тысяч. при увеличении объема данных в сообщении количество транзакций падало где-то почти линейно. оптимаьный размер блока данных был где-то в районе 4Kb. пиковый трафик уже не помню.

для NetBSD/FreeBSD на UDS количество транзакций было значительно меньше, где-то порядка ~40..50 тысяч. зато к обьему данных, передаваемых в сообщении, эти системы относились заметно спокойнее - чем больше передаваемых данных тем лучше. причем, объем передаваемых данных слабо влиял на кол-во транзации (почти не влиял). оптимальный размер блока данных был где-то в районе 24..32kb. при этом размере блока я имел порядка 200Mb/s трафика.

// wbr


Название: Объясните ламеру, что такое ОС реального времени ?
Отправлено: dip от Апреля 14, 2004, 06:10:44 am
Olej
Всё это становится неконструктивно...:


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

Olej
А чем же она "нелепа" - человек с большим опытом в АСУТП, и после многих обсуждений с коллегами, совсем людьми небезызвестными, разъехавшимися ныне по всем странам мира...


Я не согласен с _мнением_ а не с кокретным человеком. И его заслуженность - простите, не аргумент.

Если я на минуточку залезу на мою асутпешную колокольню, то если бы сейчас писал SCADA не имея денег, то выбрал бы линух или BSD. По той простой причине что работать будет на писюке и особого реал-тайма не надо. Оставаясь на той же асутепешной колокольне, если бы делал PLC то это был бы QNX и не на писюке: не успели водород например вовремя перекрыть - получите взрыв, смешние водорода с кислородом в определённой пропорции взрывается сам по себе, без спичек... Есть асутп как мониторинг расхода тепла в городских котельных (тоже работа кстати важная) где секундой раньше секундой позже - не важно, а есть асутп управления установкой каталитического крекинга (нефтепереработка, стоимостью 100-200 млн долларов) не забалуешь, потому как рванёт влюбой момент (про пример с водородом смотреть выше). Вот вам разница в требованиях.

Если про телеком говорить, то есть такая штука например как protection switch. Это когда траффик перенаправляется с одного канала на другой (IP routing - это другой зверь). Преключение должно произойти _полностью_ за 50 ms. Я видел системы где это сделано частично на софте: оптичекий трансивер (девайс такой) потеряв сигнал (обрыв кабеля) дёргает прерывание. Если у вас interrupt latency высокое и не гарантированное (потому как ваша OS не была задезайнена для этого) то шансы что вы успеете переключиться за эти 50 ms не велики.

Возвращаясь к статье "...заметки на полях одной статьи": по-прежнему считаю что нелепо писать про RTOS исключив из рассмотрения VxWorks/Integrity/ThreadX etc. Если статья писалась "про то что знаем" то надо было честно сравнивать QNX и Linux/Windows/BSD. Чарльз Дарвин таскался на Галапогосские острова что бы написать Теорию Эволюции Видов, а тут Критику Теории Эволюции OS написали не выходя на балкон.


Название: Объясните ламеру, что такое ОС реального времени ?
Отправлено: olej от Апреля 14, 2004, 11:16:25 am
Не вижу неконстуктивности в моём предложении рассмотреть требования к разным сегментам рынка и как архитектура меняется в зависимости от этих самых требований.

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

Не станем нарушать одну из важнейших заповедей: "Не пускайте торговцев в Храм"(с), или (если так больше нравится): "Не нужно примешивать чувства к хорошему вину - вкус портится"(с) - О.Уайльд.

Сравнить например скедулинг какой-нибудь серверной платформы и qnx.

Давйте сравним , например.
Но у нас нет критерия, термина: realtime - что ему соответствует! Применительно к чему сравнивать будем?

Я не согласен с _мнением_ а не с кокретным человеком. И его заслуженность - простите, не аргумент.

А звслуженность здесь - и вовсе не при чём, оставим каждому его заслуженность... Я не об том писал, а об опыте: когда некто чем-то долго занимается - у него мысли приходят, бывает... И чем долбше - тем больше. И тогда (неприятности ) вещи, которые были абсолютно простыми и понятными, перестают быть такими вот совсем простыми...

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

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

Это и есть главный критерий realtime? Тогда - берём процессор (ну, ещё что там из оборудования?) в N-раз быстрее (все ведь пропорции, детерминированность - сохраняется на том же уровне?) - и всё? Проблема решена?

Преключение должно произойти _полностью_ за 50 ms. Я видел системы где это сделано частично на софте: оптичекий трансивер (девайс такой) потеряв сигнал (обрыв кабеля) дёргает прерывание. Если у вас interrupt latency высокое и не гарантированное (потому как ваша OS не была задезайнена для этого) то шансы что вы успеете переключиться за эти 50 ms не велики.

А если бы это было 5ms? А - 500ms?
И "шансы, что вы успеете переключиться" стали бы получше - так всё, состоялось - realtime?

И ещё раз: RT OS и RT целевая система - два совершенно разных понятия: "жениться и обещать жениться - 2 большие разницы", как говорят в Одессе. Ваш protection switch - с гораздо большей простотой и меньшей головной болью можно было бы решить на однозадачной OS ("с позволения сказать" OS), например RT-11 или даже MS-DOS...

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


Название: Объясните ламеру, что такое ОС реального времени ?
Отправлено: lestat от Апреля 14, 2004, 03:59:35 pm
Olej
Ваш protection switch - с гораздо большей простотой и меньшей головной болью можно было бы решить на однозадачной OS ("с позволения сказать" OS), например RT-11 или даже MS-DOS...

Угу и откинуть себя лет на 10 назад. Самому писать стеки IP, или юзать кривой Waterloo, Trumpet, MSClient, просто зашибись.
Olej
Это и есть главный критерий realtime? Тогда - берём процессор (ну, ещё что там из оборудования?) в N-раз быстрее (все ведь пропорции, детерминированность - сохраняется на том же уровне?) - и всё? Проблема решена?

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


Название: Объясните ламеру, что такое ОС реального времени ?
Отправлено: olej от Апреля 14, 2004, 04:05:23 pm
Угу и откинуть себя лет на 10 назад. Самому писать стеки IP, или юзать кривой Waterloo, Trumpet, MSClient, просто зашибись.

Ничего подобного! Я ведь не об конкретной RT-11, для которой и оборудования не найдёте - а об однопотоковых оболочках, поддерживающих целевую terget задачу, от OneTarget, например...
О том, что нет у них "realtime"-проблем.

А с теми же самыми стеками IP - это особая песня: как только появился стек IP - появляется параллелизм, и вырастают realtime-проблемы, независимо от того, всё пишется на коленке, или RTOS используете...

Да и не всем нужен IP - очень многим, особенно в АСУТП, realtime + embedded видится так: на входе - контакт реле, на выходе лампочка... задача: будет ли лампочка загораться "в заранее прогнозируемое время"? ну, не 1-на лампочка, а 1000...


Название: Объясните ламеру, что такое ОС реального времени ?
Отправлено: lestat от Апреля 14, 2004, 04:27:16 pm
Olej
Да и не всем нужен IP - очень многим, особенно в АСУТП, realtime + embedded видится так: на входе - контакт реле, на выходе лампочка...

А удаленная диагностика, как с ней быть ?


Название: Объясните ламеру, что такое ОС реального времени ?
Отправлено: Evgeniy от Апреля 14, 2004, 05:04:23 pm
dip
<i>
Olej
Всё это становится неконструктивно...:

Не вижу неконстуктивности в моём предложении рассмотреть требования к разным сегментам рынка и как архитектура меняется в зависимости от этих самых требований. Сравнить например скедулинг какой-нибудь серверной платформы и qnx.
</i>


С удовольствием увидел бы ваше конструктивное мнение, но как я уже обращал внимание на ваше заявление, к сожалению у вас на него нет времени... или может быть чего-то другого...

dip
Если я на минуточку залезу на мою асутпешную колокольню, то если бы сейчас писал SCADA не имея денег, то выбрал бы линух или BSD. ...............
..............................
..............................

А вот это все практически полностью совпадает с выводом статьи: нет "элитарных" RTOS и "плебейских" GPOS, а есть инструменты (ОС) в большей или меньшей степени пригодные для построения конкретной прикладной системы реального времени и выбор конкретного инструмента делается отдельно в каждом конкретном случае...


Название: Объясните ламеру, что такое ОС реального времени ?
Отправлено: ee от Апреля 15, 2004, 11:13:37 pm
Olej
Всё это становится неконструктивно...:

А эти раздолбаи пусть сначала научатся мобильники делать, чтоб не висли

Поясняю - купил мабилу имени этой моторолы. И был шокирован тем, что оно зависает. Так что и вотч-дог не помогает. Т.е. изредка видно что оно само перезагружается, а один раз зависло так, что пришлось аккум. вытаскивать. А после прочтения инструкции оказалось, что это у них вообще фича такая. Заметьте - и система встроенная и самый что ни наесть риалтайм, что бы тут некоторые не говорили.


Название: Объясните ламеру, что такое ОС реального времени ?
Отправлено: lestat от Апреля 16, 2004, 07:32:51 am
ee
имени этой моторолы

Вообще-то это совершенно разные подразделения Это тоже самое, что говорить, что CD-R Philips отстой, зато какие они классные чайники делают.

Philips CD-R до 24x - это CMC Magnetics - просто делают на заказ брэнда.

Бытовая техника филипса - это выкупленные предприятия и включенные под крылышко концерна, которые тем не менее все равно выпускают свою продукцию, но под другим брэндом.

Аналогия ясна ? Motorolla моторолле рознь.


Название: Объясните ламеру, что такое ОС реального времени ?
Отправлено: ZZZ от Апреля 20, 2004, 09:25:07 am
klalafuda писал 2 апреля:

ну а с точки зрения меня, пользователя, совершенно все равно, почему именно я не могу получить желаемые 30Mb/s на запись при доступе к жесткому диску. не работает и все тут. so в проектах допустим со stream video QNX свободен. общение народа в QUICS на протяжении последних трех лет это только подтверждает. далкео не один человек желал поиметь high speed data storage sollution на QNX4/6. ответом было молчание..

Прошу прощения за тормознутость ответа. Только сегодня руки дошли до этой бурной темы....

Если 30Mb/s - это 30 мегабит, а не мегабайт, то, клянусь, в наших тестах 20MB/c (20 Мегабайт) на UDMA-5 мы получали и имеем. Это, так сказать, наше всё, без этого у нас бы и задача не выполнялась. Готов предоставить технологию испытаний. Коротко говоря, использовалась clock(). Процессор был загружен примерно на 50-60%. Когда мы моделировали RAID, записывая поблочно на два диска, подцепленные к IDE-3 и IDE-4 (то есть управляемые контроллером рэйд-массива), скорость достигала 25МБ/с, но при этом процессор (P4 1600Мг) загружался практически под завязку (то бишь становился слабым звеном).

 Если же требуется-таки 30MB/с - то на каком винчестере? Его родные характеристики каковы?

Да, естественно, регистрация идёт на винчестер "регистрирующего" узла, оператор радуется графике и "рулит" на другом узле.


Название: Объясните ламеру, что такое ОС реального времени ?
Отправлено: klalafuda от Апреля 20, 2004, 10:23:58 am
---cut---
Если 30Mb/s - это 30 мегабит, а не мегабайт, то, клянусь, в наших тестах 20MB/c (20 Мегабайт) на UDMA-5 мы получали и имеем. Это, так сказать, наше всё, без этого у нас бы и задача не выполнялась. Готов предоставить технологию испытаний. Коротко говоря, использовалась clock(). Процессор был загружен примерно на 50-60%. Когда мы моделировали RAID, записывая поблочно на два диска, подцепленные к IDE-3 и IDE-4 (то есть управляемые контроллером рэйд-массива), скорость достигала 25МБ/с, но при этом процессор (P4 1600Мг) загружался практически под завязку (то бишь становился слабым звеном).

Если же требуется-таки 30MB/с - то на каком винчестере? Его родные характеристики каковы?
---cut---

в данном случае, 30Mb/s - это именно мегабайт в секунду на файловую систему цифра была взята в свое время из пожеланий народа с QUICS. afair что-то или с видео или с суровой акустикой делали.

самый банальный тест сразу после установки системы без подстройки и пр.:

bash-2.05b# dd if=/dev/zero of=dat bs=1m count=1024
1024+0 records in
1024+0 records out
1073741824 bytes transferred in 64.892 secs (16546597 bytes/sec)
bash-2.05b# ls -l dat
-rw-r--r--  1 root  wheel  1073741824 Apr 20 14:28 dat

т.е. запись большого нагенеренного файла данных на файловую систему без всяких ухищрений. винт - обычный фуджи afair 5000 или 7200 rpm что-то там. никаких рейдов нет. параметры машины есть на http://ianzag.megasignal.com

минимум ~16Mb/s уже неплохо. если немного потрудиться и подобрать железку, можно поиметь и 30Mb/s.

пока что аналогичного результата у меня не получалось на QNX4/6. вот выйдет в нормальном виде 6.3 опять попробую.

---cut---
Да, естественно, регистрация идёт на винчестер "регистрирующего" узла, оператор радуется графике и "рулит" на другом узле.
---cut---

конечно, лучше разделить data storage и все остальное. машинка все-таки грузится дай бог каждому.

ps: собственно к ОСРВ эти тесты не имеют никакого отношения скорее, сравнение подсистемы ввода/вывода.

// wbr


Название: Объясните ламеру, что такое ОС реального времени ?
Отправлено: ZZZ от Апреля 22, 2004, 07:23:12 am
klalafuda
ps: собственно к ОСРВ эти тесты не имеют никакого отношения  скорее, сравнение подсистемы ввода/вывода.

Да понятно... Просто тема для меня волнительная, так что у кого что болит...
И возвращаясь к цифре 30МВ: беру журнал "Компьютерное обозрение" (наш такой, национальный хохляндский) за лето 2003г., тесты современных (на тот момент, естественно, но вполне годится) IDE-винчестеров, числом 18 штук. Конфигурация стенда: ASUS с чипсетом i850E, Pentium 4 2,4GHz, 512MB PC1066 RDRAM, JC Win2000 Prof SP3. То есть весьма пристойно. Смотрю среднюю скорость записи: от 34,1МВps до до 19,9МВps, причём выше 30 -только 2 шт. (WD Caviar WD2500JB да Seagate Barr 7200.7). Вот. А ведь это профессиональный тест, заточенный именно что под проверку возможностей диска, то бишь без учёта "шумов", вызванных особенностями платформы. Это я к тому всё, что вот так просто 30МВ - это задача не банальная.

Ах да, кстати, мы ещё так "тестировали": сгенерировали файл в 10Гб, а потом копировали его. QNX показала себя не хуже ни Win2000, ни Solaris'а.

Так что Ваше
klalafuda
so в проектах допустим со stream video QNX свободен.
мне кажутся уж слишком категоричными.

С уважением, ZZZ


Название: Объясните ламеру, что такое ОС реального времени ?
Отправлено: ee от Апреля 22, 2004, 11:34:54 pm
lestat
   ee
    имени этой моторолы


Вообще-то это совершенно разные подразделения Это тоже самое, что говорить, что CD-R Philips отстой, зато какие они классные чайники делают.

Philips CD-R до 24x - это CMC Magnetics - просто делают на заказ брэнда.

Бытовая техника филипса - это выкупленные предприятия и включенные под крылышко концерна, которые тем не менее все равно выпускают свою продукцию, но под другим брэндом.

Аналогия ясна ? Motorolla моторолле рознь.


нет, не ясна. Оттого, что корпус штампуется на филлипинах совершенно не зависит в каком месте зависнет мотороловская программа на мотороловском же процессоре. И потом - непонятно разделение на бытовую и небытовую технику. Бытовая техника в умелых ручках [домохозяек] может испытывать не меньшие перегрузки, чем в дивайсах военного исполнения, не зря ж производители пишут в инструкциях что-то типа "этот фен не предназначен для засовывания в анальное отверстие"


Название: Объясните ламеру, что такое ОС реального времени ?
Отправлено: ee от Апреля 22, 2004, 11:43:48 pm
Иллюстрация из жизни на тему, что такое гм...система реального времени.
==========
Казанский вокзал. время 16:12, (22 апреля 2004)
на табло надписи когда и с какой платформы следущая электричка едет. Надписи всегда идут в порядке очереди по премени.
Итак, табло.
Первая электричка в очереди - время отправления 22:10, платформа нумер такая-то, вторая в 15:17, платформа такая-то..Тетка-робот-электронный информатор дает объявление по вокзалу: в пятнадцать часов семнадцать
мининут с такой-то платформы отправляется электричка туда-то..
[прочие подробности опущены]
вообще-то эта электричка опоздала в прибытии...но супер-пупер риалтайм АСУ вокзая продолжало считать ее как ту, которая отправляется в 15:17 и выдавало эти
цифры в репродуктор и на табло. Может и еще куда стрелки порывалось переводить - не видел


Название: Объясните ламеру, что такое ОС реального времени ?
Отправлено: ZZZ от Апреля 23, 2004, 07:08:24 am
Offtopic:

ee
Иллюстрация из жизни на тему, что такое гм...система реального времени

Однажды на одном (игровом) форуме затеялся трёп на тему хороших и нехороших ОСей. И один из участников (стараясь выглядеть, очевидно, продвинутым), ругал MSWin-ы, в качестве аргумента рассказывая, как неверно (вообще-то говоря, именно с его точки зрения) работает программа "Калькулятор". Так то ж игровой форум...

С уважением, ZZZ