
- •1. Что такое функционирование в «Реальном масштабе времени»
- •2. Приведите примеры функционирования в реальном масштабе времени
- •3. Что такое время реакции системы
- •4. Что такое «жесткое» и «мягкое» реальное время.
- •5. Классификация опер-х систем реального времени.
- •6. Требования к осрв
- •7. Задачи, процессы, потоки
- •8. Основные свойства задач.
- •9. Планирование циклических задач, кооперативная многозадачность
- •10. Планирование в режиме разделения времени
- •11. Алгоритм планирования – приоритетная задача с вытеснением
- •12. Виды синхронизации задач
- •14. Синхронизация доступа задач к общему ресурсу
- •15. Семафоры
- •16. Критические секции, мутексы
- •17. Смертельный захват, инверсия во времени
- •18. Синхронизация задач с внешними событиями
- •19. Синхронизация во времени
- •20. Linux реального времени.
- •21. Операц-е системы реального времени и Windows
- •22. Операционная система qnx.
- •23. Контекстное переключение задач.
- •24. Стандарт posix.
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 и создания встроенных конфигураций (без дисков, клавиатуры и монитора).
Область применения расширений реального времени - большие системы реального времени, где требуется визуализация, работа с базами данных, доступ в интернет и пр.