Легенда:
новое сообщение
закрытая нитка
новое сообщение
в закрытой нитке
старое сообщение
|
- Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
- Новичкам также крайне полезно ознакомиться с данным документом.
|
Операционные системы реального времени способны реагировать... 13.08.07 09:44 Число просмотров: 5036
Автор: !mm <Ivan Ch.> Статус: Elderman
|
> Сильно не пинайте, просто объясните что значит операционна > с real-time и без real-time.
Операционные системы реального времени способны реагировать на внешние события в течение гарантированного промежутка времени, исчисляющегося долями секунды. Подобные программные платформы находят применение в специфичных областях, в том числе, в военной отрасли, медицине, а также финансовой сфере. Разработка SuSe Linux Enterprise Real Time осуществлялась компанией Novell совместно со специалистами Concurrent Computer. Тестирование операционной системы на базе данных Ingres показало, что время реакции Suse Linux Enterprise Real-Time составляет от 11 до 27 микросекунд. Первая версия SuSe Linux Enterprise Real Time была выпущена в конце прошлого года.
http://www.uinc.ru/news/sn8094.html
|
<theory>
|
Что есть ОС c real-time и ОС без real-time? 13.08.07 09:39
Автор: jun Статус: Незарегистрированный пользователь
|
Сильно не пинайте, просто объясните что значит операционна с real-time и без real-time.
|
|
Операционные системы реального времени способны реагировать... 13.08.07 09:44
Автор: !mm <Ivan Ch.> Статус: Elderman
|
> Сильно не пинайте, просто объясните что значит операционна > с real-time и без real-time.
Операционные системы реального времени способны реагировать на внешние события в течение гарантированного промежутка времени, исчисляющегося долями секунды. Подобные программные платформы находят применение в специфичных областях, в том числе, в военной отрасли, медицине, а также финансовой сфере. Разработка SuSe Linux Enterprise Real Time осуществлялась компанией Novell совместно со специалистами Concurrent Computer. Тестирование операционной системы на базе данных Ingres показало, что время реакции Suse Linux Enterprise Real-Time составляет от 11 до 27 микросекунд. Первая версия SuSe Linux Enterprise Real Time была выпущена в конце прошлого года.
http://www.uinc.ru/news/sn8094.html
|
| |
Есть еще одно определение. 13.08.07 18:12
Автор: Fighter <Vladimir> Статус: Elderman
|
Расплычатое, но, иногда более понятное.
Системы реального времени обрабатывают события при их возникновении (данные при поступлении), обычные - когда появляется возможность их обработать. Т.е. в первом случае есть гарантированное время обработки (время отклика), а во втором его нет. Есть только надежда :)
|
| | |
Неважно как обрабатывает система реального времени данные, это её секрет. Гарантируется только время отклика. Если система не влезла в предел времени отклика, она генерирует ошибку, только и всего. 14.08.07 13:51
Автор: HandleX <Александр М.> Статус: The Elderman Отредактировано 14.08.07 13:57 Количество правок: 1
|
Микропроцессоры всё равно ставят поступающие прерывания в очередь (а ещё и игнорируют их, если очередь заполнена), так что...
Самое смешное, теоретически получается, что риалтаймовая система покажет меньшую производительность, чем обычная, на той же аппаратной платформе, поскольку в обычной системе нет контроля выполнения той или иной функции во времени.
|
| | | |
Только вероятность, что прерывания потеряются в... 20.08.07 13:07
Автор: DPP <Dmitry P. Pimenov> Статус: The Elderman
|
> Микропроцессоры всё равно ставят поступающие прерывания в > очередь (а ещё и игнорируют их, если очередь заполнена), > так что...
Только вероятность, что прерывания потеряются в нереалтаймовых ОС значительно выше. Точнее в реалтймовых она отсутствует, поскольку время обработки лимитировано как раз для этого тоже.
> Самое смешное, теоретически получается, что риалтаймовая > система покажет меньшую производительность, чем обычная, на
Понятия "производительность" и "операционная система" не коррелируются. ОС это не процессор и не СУБД.
> той же аппаратной платформе, поскольку в обычной системе > нет контроля выполнения той или иной функции во времени.
В ОСРВ контроль времени выполнения осуществляется на этапе программирования, а именно 1) написал обработчик, 2) посчитал инструкции и время их выполнения, 3) если не вложился в норматив то сократил количество инструкций и перешел ко второму пункту.
Так что позвольте с вами не согласиться. Да и вообще, по моему правильным будет при наступлении события обработать его, а не поставить в очередь, чтоб обработать как-нибудь потом. В результате имеем то, что окошко появляется спустя минуту, после того, как кликнешь по ярлычку :-).
|
| | | | |
События — программистская абстракция, В компьютерах нет «реальных событий» :-) 20.08.07 15:25
Автор: HandleX <Александр М.> Статус: The Elderman
|
> В ОСРВ контроль времени выполнения осуществляется на этапе > программирования, а именно 1) написал обработчик, 2) > посчитал инструкции и время их выполнения, 3) если не > вложился в норматив то сократил количество инструкций и > перешел ко второму пункту. ОСРВ многозадачны по определению, считать инструкции не очень имеет смысл... И ОСРВ не пишутся под конкретную платформу, что тоже умаляет смысл подсчёта времени исполнения каждой процедуры.
Другое дело, что щедулер там весьма детерминированный, и можно немножко представлять, «что будет, если». В тех применениях, где считают инструкции и время их исполнения, не используют ОСРВ, наверное потому, что они слишком громоздки для этих применений ;-)
> Так что позвольте с вами не согласиться. Да и вообще, по > моему правильным будет при наступлении события обработать > его, а не поставить в очередь, чтоб обработать как-нибудь > потом. В результате имеем то, что окошко появляется спустя > минуту, после того, как кликнешь по ярлычку :-). Событий нет в компьютерах самих по себе, это абстракции ОС или программиста. А прерывания, что являются реальными событиями в компьютерах, не являются этими абстракциями, они лишь «заготовки» для них. Прерывания вообще-то претят общей идеологии процессов в ОС. И что обычная ОС, что ОСРВ стремятся обработать прерывания как можно быстрее, переложив дальнейшую обработку на «потом». Те же «события» могут ждать, к примеру, несколько процессов, а процессор один, как прикажете обработать событие «сразу»? ;-)
Всё это к тому, что «потом» в обычной ОС менее детерминировано, чем в ОСРВ, о чём я написал чуть выше. Вокруг ОСРВ вообще много всякого странного пеара...
К примеру, был патчи для NT4 сторонних производителей... Превращающие эту ОС в ОСРВ, т.е. поставил патч и пользуешься новыми реалтаймовыми функциями ядра на здоровье... Есть ещё всякие интересные понятия жёсткого и мягкого риалтайма...
В общем, мир снова не чёрно-белый, а цветной и всякоразный ;-)
|
| | | | | |
NT и линух никак не могут быть реалтаймовыми, что бы там ни говорил пеар 20.08.07 15:46
Автор: amirul <Serge> Статус: The Elderman
|
> ОСРВ многозадачны по определению, считать инструкции не > очень имеет смысл... И ОСРВ не пишутся под конкретную > платформу, что тоже умаляет смысл подсчёта времени > исполнения каждой процедуры. > Другое дело, что щедулер там весьма детерминированный, и > можно немножко представлять, «что будет, если». В тех
Отличие здесь далеко не в шедулере, тем более что в ОСРВ и обычных алгоритмы шедулинга примерно одинаковые.
> > Так что позвольте с вами не согласиться. Да и вообще, > по > > моему правильным будет при наступлении события > обработать > > его, а не поставить в очередь, чтоб обработать > как-нибудь > > потом. В результате имеем то, что окошко появляется > спустя > > минуту, после того, как кликнешь по ярлычку :-).
Это не тебе (тут двойное цитирование), но отвечу здесь, чтобы не плодить ветки - это вообще ни к селу ни к городу :-)
Окошко появляется минуту спустя потому, что люди пишут на всяком отстое типа делфи, VB или в лучшем случае Java/.Net, а не потому, что ядро ОС плохое.
> Событий нет в компьютерах самих по себе, это абстракции ОС > или программиста. А прерывания, что являются реальными > событиями в компьютерах, не являются этими абстракциями, > они лишь «заготовки» для них. Прерывания вообще-то претят > общей идеологии процессов в ОС. И что обычная ОС, что ОСРВ > стремятся обработать прерывания как можно быстрее, > переложив дальнейшую обработку на «потом». Те же «события» > могут ждать, к примеру, несколько процессов, а процессор > один, как прикажете обработать событие «сразу»? ;-)
Отож бо й воно.
> Всё это к тому, что «потом» в обычной ОС менее > детерминировано, чем в ОСРВ, о чём я написал чуть выше. > Вокруг ОСРВ вообще много всякого странного пеара... > К примеру, был патчи для NT4 сторонних производителей... > Превращающие эту ОС в ОСРВ, т.е. поставил патч и > пользуешься новыми реалтаймовыми функциями ядра на > здоровье... Есть ещё всякие интересные понятия жёсткого и
Вот здесь собственно и сабж. Это сейчас модно подмазывать к какому нибудь раскрученному понятию, смысл которого все равно никто не понимает. Ни "реалтаймовая" NT ни RTLinux не являются реалтаймовыми ОС. Это системы с монолитным (что не мешает им быть модульными) ядром, значит все модули ядра (драйверы) работают в том же контексте безопасности, что и само ядро. А если любой third party драйвер может просто запретить все прерывания и войти в бесконечный цикл, то о каком гарантированном времени отлика может идти речь?
> мягкого риалтайма... > В общем, мир снова не чёрно-белый, а цветной и всякоразный > ;-)
Ага :-)
Даже в случае монолитных ядер не все так запущенно, как я написал :-)
Принекоторыхусловиях монолитное ядро может быть реалтаймовым. В частности, если запрещена загрузка любых third party драйверов. Однако, чем больше ядро (в ядро нужно включить не только непосредственно ядро, но и все драйвера, работающие на одном уровне безопасности с ним), тем выше вероятность ошибки в реализации (даже если архитектрура в принципе допускает реалтаймовость) при которой гарантированное время отклика ни фига не гарантируется.
Собственно именно поэтому ОС реального времени стоит искать только среди микроядерных ОС
|
| | | | |
В последнем абзаце, после слова "при", как раз написана разница между ОСРВ и обычными ОС. 20.08.07 15:04
Автор: Fighter <Vladimir> Статус: Elderman
|
|
|
|