Библиотека         оригинал - http://www.csu.ac.ru/osp/os/1997/05/source/48.html

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

Евгений Хухлаев
ИПМ им. М.В.Келдыша РАН, Москва
huh@spp.keldysh.ru
 
1. "Жесткие" и "мягкие" системы реального времени
2. Удовлетворяет ли Windows NT требованиям, предъявляемым к ОС РВ?
2.1. Нити и приоритеты
2.2. Предсказуемость системных вызовов Win32 API
2.3. Управление прерываниями в NT
2.4. Управление памятью в NT
3. Может ли Windows NT использоваться в качестве ОС РВ?
4. Коммерческие решения, расширяющие NT возможностями обработки в реальном времени
4.1. Использование NT как таковой
4.2. Реализация Win32 API над другой ОС РВ
4.3. Совместная работа на одном процессоре NT и ОС РВ
4.4. Использование многопроцессорной архитектуры
Выводы

Необходимые требования к ОС для обеспечения предсказуемости


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

Несмотря на то, что сегодня Windows NT не отвечает в полной мере требованиям, предъявляемым к операционной системе реального времени, давление рынка привело к появлению коммерческих решений, расширяющих NT возможностями обработки в реальном времени.

1. "Жесткие" и "мягкие" системы реального времени

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

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

Еще одним важным требованием к СРВ является одновременная обработка событий: если несколько событий происходят одновременно, все они должны быть обработаны своевременно. Это означает, что имманентным свойством системы реального времени должен быть параллелизм. Чтобы этого добиться, необходимо установить более одного процессора или придерживаться многозадачного подхода.

В зависимости от отношения к опозданиям системы реального времени делятся на "жесткие" (hard) и "мягкие" (soft).

В жесткой системе: