Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Устройства программного управления.docx
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
2.21 Mб
Скачать

2.2.4. Использование в системах управления операционной системы Windows nt

Windows NT не является операционной системой реального времени, поскольку не имеет достаточного диапазона приоритетов потоков (threads), не позволяет управлять наследованием приоритетов (блокирующий поток должен наследовать приоритет потока, который он блокирует), механизм синхронизации потоков непредсказуем, время реакции на прерывание не­предсказуемо.

Между тем в силу растущей популярности в системах управления опе­рационной системы Windows NT проблема как-то должна быть решена. Из всех существующих предложений по реализации ОСРВ на базе Windows NT практическое значение имеют всего два подхода [24].

Первый подход состоит в запуске Windows NT в виде низкоприоритет­ной задачи операционной системы реального времени (супервизора). При этом предполагается применение ядра классической ОСРВ типа QNX или VxWorks. Существуют решения, в которых в качестве супервизора исполь­зуется Vx Works.

Второй подход заключается в расширении (в смысле реального време­ни) Windows NT. Это может быть оригинальная разработка изготовителя системы управления, например система WinCAT (Backhoff Industrie Electronic, ФРГ)- Другой вариант- использование готового коммерческого решения, например RTX 4.1 фирмы VenturCom.

Оба подхода имеют свои достоинства и недостатки. Однако подход на базе расширения реального времени для Windows NT все же более перс­пективен. Во-первых, в расширении использованы те же типы объектов для управления задачами, что и у ядра Windows NT (мютексы, семафоры и т.д.). В противоположность этому Vx Works использует оригинальные фун­кции и механизмы, формирующие собственный стиль, отличный от стиля Windows. Во-вторых, нет необходимости во второй операционной систе­ме, что сокращает расходы и снимает проблемы установки и стыковки обеих операционных систем на одном персональном компьютере.

Решение в пользу расширения реального времени позволяет быстро обновлять систему управления с появлением новых версий Windows NT, осуществлять мощную защиту приложений, которую Windows выполняет с помощью независимого абстрактного уровня HAL, легко отлаживать коды и использовать возможности стандартных механизмов Microsoft для ин­формационного обмена между Windows и задачами реального времени (IPC -механизм межпроцессной связи, OLE - механизм связывания и внедрения объектов, СОМ - механизм компонентных моделей, RPC - механизм уда­ленного вызова процедур).

2.2.5. Стратегия диспетчеризации на базе расширения rtx (Real Time extension)

Один из самых надежных и распространенных алгоритмов диспетче­ризации в многозадачных операционных системах (ОС) - это алгоритм циклической диспетчеризации, когда для выполнения конкретной задачи предоставляется некоторый квант времени (time slice). По истечении каж­дого кванта времени планировщик просматривает очередь активных задач и принимает решение, которой из них передать управление [25]. Подоб­ный алгоритм может быть использован в системе числового программно­го управления. Прежде чем сформировать этот алгоритм, рассмотрим осо­бенности режима времени, в котором работает система управления с опе­рационной системой Windows NT и расширением реального времени.

Понятие о мягком и жестком реальном времени

в системе управления

На рис. 34 представлены многоуровневая структура Windows NT с RTX и размещение основных потоков системы управления. Внизу находится уровень аппаратной абстракции реального времени (HAL), где реализова­ны быстродействующие часы и таймеры, механизм разграничения преры­ваний между RTX и Windows NT. Подсистема реального времени RTSS выполнена в виде драйвера, работает на уровне ядра Windows NT и обес­печивает основные функции и управление ресурсами RTX. Эта подсистема использует сервисные возможности HAL реального времени и Windows NT для работы с быстрыми часами и таймерами и для обслуживания механиз­ма прерывания. Встроенный в RTSS менеджер потоков (thread manager) и планировщик, основанные на фиксированной системе приоритетов, управ­ляют прикладными задачами [26, 27].

Подсистема RTSS обеспечивает интерфейс между процессами RTX и Windows NT в реальном времени с помощью специального сервисного ме­ханизма IPC (Inter Process Communication).

С ледует отметить, что RTX полностью соответствует той концепции фир­мы Microsoft, которая допускает изменение уровня HAL без изменения ядра операционной системы. При этом расширение функциональностей уровня аппаратной абстракции осуществляется путем добавления драйверов.

В системе работают обычный прикладной интерфейса Win32 для Windows NT (предусмотренный для машинного времени), а также допол­нительные прикладные интерфейсы реального времени RTAPI (Real Time Application Interface) и Win32 RT (Real Time). Дополнительные приклад­ные интерфейсы обеспечивают два режима реального времени: «жесткий» и «мягкий». Это позволяет оптимизировать вычислительные ресурсы сис­темы управления, разделив ее функциональные задачи на три группы:

  • в режиме жесткого реального времени решаются критические зада­чи (интерполяция кадров управляющей программы, ввод-вывод и т.д.), ре­ализованные в процессе RT-сервер (рис. 34);

  • в режиме мягкого реального времени решаются задачи, непосред­ственно связанные с задачами реального времени (например, интерпрета­ция кадра управляющей программы); они реализованы в процессе «терми­нал» (рис. 34). В отличие от жесткого времени здесь допустимы задержки

потока из-за свопинга (подкачка), обращения к жесткому диску, прерывания и т.д.;

• в режиме машинного времени работают остальные стандартные при­кладные модули системы управления (редактор управляющих программ, встроенная САМ-система, система моделирования процесса обработки и т.д.).

Стратегия диспетчеризации задач в системе управления отображена на рис. 35, где стрелками указана последовательность событий. Первоначально в Windows NT с подсистемой реального времени (RTSS) создается таймер (timer). По истечении кванта времени стандартный механизм генерирует прерывание, которое обрабатывается прикладной call-back функцией или так называемой функцией обратного вызова. Функция реализует алгоритм планирования (диспетчеризации) задач интерпретаций, интерполяции, вво­да-вывода, коммуникации и интерфейса оператора MMI. В соответствии с обозначенными для системы управления режимами в жестком реальном времени выполняются задачи диспетчеризации, интерполяции, ввода-вы­вода, коммуникации. В мягком реальном времени выполняются задачи интерпретации и обновления экранов интерфейса с оператором, а в фоно­вом процессе-задачи интерфейса с оператором.