Проектиорвание Операционной Системы реального времени

Проектирование ОС РВ для управления технологическими процессами

Операционная система является одним из важнейших компонентов программного обеспечения системы числового программного управления (ЧПУ). Для управления технологическими и вспомогательными процессами на станке существует необходимость обеспечения работы программ в режиме реального времени (РВ). Сразу оговоримся, что под понятием системы реального времени (СРВ) мы будем в дальнейшем подразумевать систему, которая обеспечивала бы адекватную ответную реакцию на поступающие извне любые внешние воздействия, причем промежуток времени, в течении которого происходит обработка воздействия(запроса) должен быть существенно меньше чем промежуток между возникновением соседних воздействий(запросов) [1]. Применительно к технологическим процессам такими воздействиями, к примеру, являются сигналы обратной связи, указывающие на некоторые изменения состояния системы, или сигналы управления, поступающие в систему ЧПУ с панели оператора. Для обеспечения корректной работы СРВ требуется выполнение таких условий, как ограничение времени отклика для наступления реакции на произошедшее событие, а также обеспечение работы СРВ в рамках параллельного выполнения одновременно выполняющихся операций и их синхронизации в случае необходимости. Например, при обработке детали на станке с ЧПУ происходит одновременное выполнение геометрической, технологической, логической и терминальной задач ЧПУ [2]. Как известно, СРВ условно делятся на “жесткие” и “мягкие”. Для первых характерно то, что в них недопустимо нарушение временных рамок на произошедшее событие, для второй такое нарушение нежелательно. Понятно, что в случае управления техпроцессами мы имеем дело с “жесткой” СРВ. Одной из основ для построения такой системы является проектирование операционной системы реального времени (ОСРВ). При этом необходимо соблюдение ряда условий:

  • ОСРВ должна быть многонитиевой и прерываемой. Диспетчер задач должен быть способен прервать в системе любую нить и предоставить ресурс нити, которой он больше необходим.
  • Для задач вводится понятие уровня приоритета. Задачи ЧПУ разбиваются на ряд прикладных процессов. Во время работы ОСРВ процесс с более высоким приоритетом способен прервать выполнение текущего процесса. Интуитивно понятно, что процесс, возникший, к примеру, во время аварийной ситуации во время обработки, должен иметь более высокий приоритет, нежели обычно выполняющийся процесс.
  • Необходимо существование механизма взаимодействия задач в системе. Используются такие средства, как семафоры, сообщения, мутексы и т.д.
  • Должно быть известно поведение ОСРВ.

В настоящее время достаточно актуальным авторам представляется направление, в котором управление технологическими процессами осуществлялось бы на базе ПК, что может являться альтернативой управлению на основе программируемых логических контроллеров. Очевидным преимуществом такого подхода является оснащение системы такими дополнительными возможностями, как облегчение работы в сети и эффективное управление сбором данных. Немаловажную роль играют и открытость таких систем, их совместимость с уже существующим программным обеспечением и вытекающая отсюда возможность использования системы в различных приложениях. Достаточно очевидно использование в таком случае стандартных ОС, часть которых уже снабжена механизмами для работы в РВ [3]. Проведенный анализ показал, что оптимальным является использование для вышеупомянутых целей ОС Linux. Это полнофункциональная ОС эффективно использующая ресурсы компьютера. Данная система обладает всеми преимуществами Unix-подобных систем, кроме того, положительно решается вопрос со стандартизацией. Дело в том, что сейчас единственным применимым в отношении ОСРВ стандартом является POSIX(Portable Operating System Interface of Computing Enviroment), в частности его расширение POSIX.1b. Основанный на Unix, POSIX обеспечивает переносимость приложений из одной ОС в другую, не тратя огромных усилий. Привлекательным представляется тот факт, что исходный код Linux общедоступен, его можно изучать и модифицировать, приспосабливая под нужды конкретного проекта. Кроме всего прочего, немаловажным фактором при выборе ОС является ее стоимость. В данном случае затраты на приобретение операционной системы сводятся к нулю [4]. Разумеется, хотя Linux и поддерживает POSIX – совместимые системные вызовы РВ, не может использоваться как полноценная ОСРВ. Проблема заключается в следующем: не существует гарантии того, что ядро будет выполнять процесс РВ в течении необходимого интервала времени, а взаимодействие ОС с задачами РВ должно осуществляться в темпе, соизмеримом со скоростью их протекания. Также ядро не может гарантировать выполнение процесса РВ в режиме задачи, если оно уже исполняет другой процесс в режиме ядра – Linux запрещает прерывания как средство синхронизации . Исходя из вышеописанного нельзя сказать, что Linux – предсказуемая ОС. Таким образом, необходимо либо обеспечить процессам РВ динамическое протекание, т.е. они не будут встроены в ядро, либо так изменить ядро, чтобы обеспечить им адекватную скорость выполнения. Внесение изменений в ядро ОС влечет за собой применение кардинально новой политики планировки, определяющей, как задачи будут делить между собой процессорное время, и других мер, направленных на повышение предсказуемости системы [5]. Еще одним подходом для изменения ОС Linux является его реструктуризация вокруг архитектуры микроядра [6]. Являясь по сути довольно радикальным и сложным процессом, такой способ существенно упростил бы работу с ОС после его завершения. Дело в том, что попытка внесения изменений в ядро – достаточно сложный и трудоемкий процесс. При использовании же данного варианта микроядро предоставляет лишь базовые функции (ввод\вывод, управление памятью и др.) и осуществляет диспетчеризацию задач РВ, а система представляет собой сочетание взаимодействующих процессов с различным контекстом назначения. Меняя содержание, мы можем привносить в систему необходимые преобразования или корректировать огрехи в ее работе. Такой подход принес бы следующие преимущества: после проведения реструктуризации процесс внесения изменений несколько упрощается, повышается переносимость ОС, модульность системы придает ей большую гибкость, нежели использование ОС с монолитной архитектурой. Главное же достоинство такого решения – повышение предсказуемости, а следовательно большее соответствие задачам “жесткого” РВ. Немаловажным является такой критерий, как размеры системы. Применение ОС на основе микроядра ведет к их существенному снижению, что также позволит увеличить диапазон ее применения.

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

ЛИТЕРАТУРА

  1. Сорокин С. Системы реального времени. – М.: СТА, №2, 1997. - стр. 22-29.
  2. Сосонкин В.Л. Программное управление технологическим оборудованием / Учебник для студентов Вувов по специальности “Автоматизация технологических процессов и производств”. – М.: Машиностроение, 1991. – 438 с.
  3. Capes P. Don`t you just love being in control?, Metalworking production, July 1997, 43-44
  4. Egea V., Garrido J., Guzman R., Zotovic R., “An Autoguided Vehicle Based on Linux”, LinuxFocus, Junuvary 1999, http://www.LinuxFocus.org
  5. Timmerman M., Monfret J-C., “Windows NT as Real-Time OS?”, Real-Time Magazine 2/97, 6-13
  6. Шалунов С. “ОС Hurd – разработка FSF на основе микроядра”, Открытые системы, 3/97, стр. 22-27

Проектирование операционной системы реального времени для управления технологическими процессами

В.К. Шемелин, А.М. Дильман г. Москва, Московский Государственный Технологический Университет “СТАНКИН”, Россия

Категории: