Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
СРВ.doc
Скачиваний:
11
Добавлен:
23.08.2019
Размер:
371.2 Кб
Скачать

21. Операционные системы реального времени и Windows

Сегодня становится широко распространенным желание потребителей использовать Windows NT в СРВ. Для этого имеется ряд весомых, на первый взгляд, причин: Win32 API считается стандартом, а на его базе разработано огромное количество программ; графический интерфейс стал сегодня очень популярным; для NT имеется немало готовых решений для коммерческих применений; в среду NT включены многие виды средств разработки.

NT – многонитевая ОС, она позволяет вытеснение, что удовлетворяет одному из требований к ОСРВ.

2-ое требование к ОСРВ связано с тем, что диспетчеризация должна осуществляться по приоритетам. В Windows NT имеются два класса приоритетов: класс реального времени и динамический класс. Процессы в классе реального времени имеют фиксированный приоритет, менять который может лишь само приложение, тогда как приоритет процессов динамического класса может меняться диспетчером. Процесс имеет базовый уровень приоритета. Нить в процессе может иметь приоритет в диапазоне плюс/минус 2 около баз.ур-ня или один из двух крайних ур-ней класса (16 или 31 для реального времени). Очевидно, что гарантировать предсказуемость системы можно только при использ-и процессов первого класса.

Казалось бы, 2-е требование также удовлетворено. Но малое число возможных уровней препятствует реализации СРВ на базе NT. Больш-во соврем. ОС РВ позволяет иметь по крайней мере 256 различных ур-ней. Чем больше имеется ур-ней, тем более предсказуемо поведение системы. В Windows NT имеется только 7 различных ур-ней для нити в данном процессе. В рез-те многие нити будут выполняться с одинаковыми приоритетами и, как следствие, предсказуемость поведения системы будет посредственной.

В ОС РВ вызовы системы синхронизации (семафоры или критические секции) должны уметь управлять наследованием приоритетов. В Windows NT это невозможно, поэтому это требование к ОСРВ не удовлетворяется.

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

Т.о. даже поверхностный анализ Windows NT показывает, что эта система не годится для построения систем жесткого РВ (система непредсказуема - время выполнения системных вызовов и время реакции на прерывания сильно зависит от загрузки системы; система велика; нет механизмов защиты от зависаний и пр.). Поэтому даже в системах мягкого РВ Windows NT м.б. использована только при выполнении ряда рекомендаций и ограничений.

21. Операционные системы реального времени и Windows [2]

Разработчики расширений пошли двумя путями:

– использовали ядра классических операционных систем реального времени в качестве дополнения к ядру Windows NT. Таковы решения фирм "LP Eleknroniks" и "Radisys". В первом случае параллельно с Windows NT (на одном компьютере!) работает операционная система VxWorks, во-втором случае - InTime. Кроме того, предоставляется набор функций для связи приложений реального времени и приложений Windows NT. Технология использования двух систем на одном компьютере понятна - работу с объектом выполняет приложение реального времени, передавая затем результаты приложениям Windows NT для обработки, передачи в сеть, архивирования и пр.

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

Область применения расширений реального времени - большие системы реального времени, где требуется визуализация, работа с базами данных, доступ в интернет и пр.