ЖУРНАЛ СТА 2/1997

«мышь». Как правило, подпрограммы обработки аппаратных прерываний делают только самые необходимые действия, после чего основные проце- дуры обработки ставятся в очередь для последующего выполнения с исполь- зованием механизма Вызова Отложен- ных Процедур (DPC, Deferred Procedure Call). К сожалению, DPC обслуживает очередь по принципу FIFO без учета приоритетов как прерываний, так и процессов, с которыми эти прерыва- ния связаны. Более того, DPC не фун- кционирует до тех пор, пока не будут отработаны все аппаратные прерыва- ния, даже если они приходят от той самой никому не нужной «мышки». Есть ли свет в конце тоннеля? Свет есть, и довольно яркий. По видимому, 1997 год станет перелом- ным в плане применения Windows NT в системах «жесткого» реального вре- мени. Однако вряд ли этот перелом будет связан с именем Microsoft. Хотя Microsoft и поддерживает различные инициативы типа OLE for Industrial Control, OLE for RealTime Market Data, Windows for Science, Engineering and Manufacturing (WINSEM), поглощен- ная борьбой с Netscape на рынке Internet и другими неотложными дела- ми корпорация предпочитает, чтобы приспосабливанием NT для работы в «жестком» реальном времени занима- лись ее партнеры. Рассмотрим некото- рые конкретные коммерческие про- дукты, которые позволяют проследить основные тенденции в этой области. IA-SPOX Это многозадачное ядро реального времени, разработанное компанией Spectron Microsystems, было, повиди- мому, первой успешной попыткой со- единения таких понятий, как Windows и «жесткое» реальное время. IASPOX спроектировано в виде набора вир- туальных драйверов (VxD), которые работают совместно с ядром Win- dows 95 на нулевом уровне привилегий процессора (Ring 0). Пользовательские программы, работающие на третьем уровне (Ring 3), могут вызывать функ- ции и процессы реального времени, а также обмениваться данными с ними. Именно на IASPOX базировалась объявленная в 1994 г. инициатива Intel по реализации мультимедиафункций программным путем без использова- ния специальных процессоров обра- ботки сигналов. Впрочем, эта ини- циатива (NSP, Native Signal Processing) встретила прохладный прием со сто- роны Microsoft, недовольной тем, что Intel вторглась на ее «территорию». Intel в конце концов отказалась от инициативы, сосредоточившись на MMXрасширениях системы команд своих процессоров. Тем не менее IASPOX успело показать свою эффек- тивность в программной реализации синтеза звука, высокоскоростной мо- демной связи и решении других за- дач, требующих быстрой и детерми- нированной реакции системы. RTX Фирма Ventur Com разработала подсистему реального времени RTX (RealTime Extensions) для Windows NT с благословения и при поддержке Microsoft. Microsoft передала лицен- зию на исходные тексты такого ком- понента Windows NT, как Уровень Аб- стракции Аппаратуры (HAL, Hardware Abstraction Level), который в основ- ном и определяет характеристики ОС по обработке прерываний. RTX добав- ляет дополнительные вызовы к ин- терфейсу прикладного программиро- вания (RTAPI, Realtime API), а также за- гружает модифицированный HAL, ко- торый «изолирует» аппаратные преры- вания от ядра Windows NT. RTX предос- тавля-ет для системы таймер реального времени с разрешением 1 мкс. С тайме- ром могут быть связаны процессы, за- пускаемые периодически с интерва- лом, кратным 100 мкс. Наихудшее вре- мя отклика составляет менее 50 мкс (Pentium/90 МГц), однако если про- цесс, кроме функций RTAPI, использует стандартные вызовы WIN32, время от- клика увеличивается до 1...5 мс. RTX обеспечивает для процессов доступ к физическим адресам памяти и портов ввода/вывода, а также специальные методы работы со страничной па- мятью, исключающие свойственные Windows NT задержки. Соответствую- щим образом отрабатываются попыт- ки перезагрузки или тяжелые остано- вы типа «голубой экран». Кроме того, предлагаются интерфейсы, замещаю- щие функции WIN32, ответственные за планировку и синхронизацию задач, межзадачный обмен сообщениями, ра- боту с аппаратными прерываниями и т. п. Самое интересное, что для этого не нужны изменения Windows NT и это не отразится на работоспособности существующих программ. Для разработчиков встраиваемых систем Ventur Com предлагает версию Windows NT, которая требует менее 10 Мбайт ПЗУ и 8 Мбайт ОЗУ. Подкач- ка страниц виртуальной памяти при этом запрещена, а в качестве дополни- тельных драйверов предлагаются драйверы NullDisplay и NullInput, позволяющие системе работать без дисплея и клавиатуры. Пример Ventur Com весьма показа- телен с точки зрения тенденций в об- ласти ОС РВ. Эта компания, известная ранее своими расширениями реаль- ного времени для UNIX/POSIX сов- местимых операционных систем, сейчас направила свои основные силы на рынок Windows NT/WIN32. Falcon Под этим красивым кодовым назва- нием мы можем легко распознать зна- комую многим операционную сис- тему iRMX. После того как Intel пере- дала права на эту ОС РВ компании RadiSys, последняя неустанно труди- лась над интеграцией полученного продукта с платформой Windows NT. Результаты этих усилий появятся уже в первой половине 1997 года. Фирма выбрала стандартный путь лицензиро- вания у Microsoft исходных текстов уровня HAL с их последующим изме- нением под требования «жесткого» реального времени. Как и в предыдущем случае, к стан- дартным функциям WIN32 добавля- ются новые функции, оптимизирован- ные для работы в реальном времени. Само ядро реального времени на базе iRMX сосуществует с ядром Windows NT и отвечает за выполнение крити- ческих по быстродействию процессов. Windows NT вместе со всеми стандарт- ными приложениями в этом случае является наименее приоритетным процессом, который получает управ- ление только в случае, если все зада- чи реального времени находятся в неактивном состоянии. Подсистема реального времени может продол- жать функционировать даже в случае полного «зависания» Windows NT. Hyperkernel Это еще одна подсистема реаль- ного времени для Windows NT, ко- торая предлагается фирмой Ima- gination Systems. Как и в других упомянутых ранее системах, Hy- perkernel позволяет сочетать высо- коскоростные задачи управления, требующие детерминированного времени отклика, и менее критич- ные приложения типа ПО опера- торского интерфейса. Microsoft и в этом случае предоставила исход- ные тексты HALуровня и разре- шила распространение модифици- рованных версий. Компания ОБЗОР Программное обеспечение 19 2/97

RkJQdWJsaXNoZXIy MTQ4NjUy