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

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

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

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

2) Диспетчеризация должна осуществ-ся на базе приоритетов.

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

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

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

Итак, Windows NT, предназн-ая в основном для классичх приложений, не явл-ся хорошей платформой для поддержания обработки в РВ. Для «жесткой» СРВ использ-е Windows NT невозм-но – СРВ никогда не будет предсказуемой (время выпол-я системных вызовов и время реакции на прерывания сильно зависит от загрузки с-мы; с-ма велика; нет механизмов защиты от зависаний и пр.). Но на ее базе м-но все-таки построить простую «мягкую» СРВ, время от времени допускающую опоздания.

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

1) использ-е NT как она есть для построения «мягкой» СРВ;

2) реализация Win32 API над другой ОС РВ;

Преим-ва: • имеется переносимость; • небольшой след; • поведение ОС РВ известно.

Недостатки: • нельзя исп-ть стандартные приложения NT;

• невозм-но смешивание с драйверами устройств NT =>весь мир коммуникаций NT недоступен; • др-е драйверы графич-х устр-в и приложения NT невозможно или трудно исп-ть; • ограничена возможность расширения в будущем; • необх-мо исп-ть спец-ые средства разработки и компиляторы.

Среди коммерч-х реализ-й этого подхода – QNX и VxWorks, испол-щие библиотеку Windows.

3) совместная работа на одном процессоре NT и другой ОС РВ (или ее части);

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

Недостатки: • отсут-ет переносимость м/у реал. временем и средой NT, за исключением случая, когда RT-API разработан на базе Win32; • драйверы устройств NT нельзя исп-ть в части РВ; • среда разработки усложняется, если для задач РВ требуется отдельная среда; • м. б. много ур-ей задач и поэтому много ур-ей определ-ий контекста. Перекл-е этих контекстов требует времени.

4) использ-е мультипроцессорной архитектуры, когда NT выпол-ся на одном процессоре (или более), а часть РВ – на остальных.

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

Недостатки: • высокая стоимость; • поведение в реал. времени зависит от поведения канала межпроцессорной связи; • среды разработки относятся к разным мирам.

Из шпор, в ее книге такого нет. (на Ваше усмотрение)

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

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

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

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