RU/2: Форум. Общение пользователей и разработчиков OS/2 (eCS). : OS/2 + realtime


Список сообщений | Написать новое | Ответить на сообщение | Домой Поиск:
Предыдущее сообщение | Следующее сообщение
From : Evgeny
To : Igor Saveliev
Subj : OS/2 + realtime

> Преамбула: в нашей конторе разрабатывается софт для управления технологическим процессом на жд транспорте. В качестве ОСРВ полуось не рассматривалась. Хочется выяснить, насколько возможно применение оси для наших задач.
Встречный вопрос - а что такое "технологический процесс" ? Перекладывание бумажек из одного ящика в другой - тоже в некотором роде технологический процесс и делается он конкретным человеком (обычно теткой) в реальном времени.
Если это управление оборудованием, железками - это одно, если это система поддержки решений и/или АРМ диспетчеров - это несколько другое...

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

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

что такое событие на уровне миллисекунд - это ХЗ...
и как все это рассчитать в реально работающей системе - тоже хз..., Реально на PC есть несколько [свободных] хардверных прерываний, которые обрабатываются на уровне драйверов и для которых более-менее можно подсчитать время реакции на одиночное событие, все остальное - от лукавого.
Более того, требование жесткого реайл-тайма от системы с туевой хучей кэшей, буферов, конвейеров и прочего на разных уровнях - это ИМХО глупость разработчика. Жесткий реалтайм должен обеспечиваться на уровне железок (контроллеров, внешних устройств), ос должен общаться в мягком времени общаться с ними...

> 2. Требуется ли для использования оси, как ОСРВ накладывание патча (как например для Линукса и NT)?

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

> 3. Как определяется конфигурации системы для обеспечения реал-тайма. Есть ли методика конфигурирования построения такой системы?

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

Например, в случае с шаговым двигателем - шаговый двигатель работает нормально при нормальном приоритете и без нагрузки системы, при нагрузке системы с дисковыми операциями - начинает заикаться... с этим заиканием можно бороться 2 путями - либо поставить PII350/64RAM вместо P166/32RAM, либо поднять приоритет нитке, управляющей шаговым двигателем. Причем оказалось достаточным оставить нормальный класс приоритетов.



Mon 03 Dec 2001 18:39 Mozilla/4.61 [ru] (OS/2; I)




Programmed by Dmitri Maximovich, Dmitry I. Platonoff, Eugen Kuleshov.
25.09.99 (c) 1999, RU/2. All rights reserved.
Rewritten by Dmitry Ban. All rights ignored.