diplom (664611), страница 2
Текст из файла (страница 2)
ОСРВ с монолитной архитектурой можно представить в виде (рис. 1.1)
-
прикладного уровня: состоит из работающих прикладных процессов;
-
системного уровня: состоит из монолитного ядра операционной системы, в котором можно выделить следующие части: интерфейс между приложениями и ядром (API), собственно ядро системы, интерфейс между ядром и оборудованием (драйверы устройств).
Рис. 1.1. ОСРВ с монолитной архитектурой
Интерфейс в таких системах играет двойную роль:
1. управление взаимодействием прикладных процессов и системы,
2. обеспечение непрерывности выполнения кода системы (т.е. отсутствие переключения задач во время исполнения кода системы).
Основным преимуществом монолитной архитектуры является ее относительная быстрота работы по сравнению с другими архитектурами. Однако, достигается это, в основном, за счет написания значительных частей системы на ассемблере.
Недостатки монолитной архитектуры.
1. Системные вызовы, требующие переключения уровней привилегий (от пользовательской задачи к ядру), должны быть реализованы как прерывания или специальный тип исключений. Это сильно увеличивает время их работы.
2. Ядро не может быть прервано пользовательской задачей (non-preemptable). Это может приводить к тому, что высокоприоритетная задача может не получить управления из-за работы низкоприоритетной.
3. Сложность переноса на новые архитектуры процессора из-за значительных ассемблерных вставок.
4. Негибкость и сложность развития: изменение части ядра системы требует его полной перекомпиляции.
Модульная архитектура (на основе микроядра)
Модульная архитектура появилась, как попытка убрать интерфейс между приложениями и ядром и облегчить модернизацию системы и перенос ее на новые процессоры.
Теперь микроядро играет двойную роль(рис 1.2):
1. управление взаимодействием частей системы (например, менеджеров процессов и файлов),
-
обеспечение непрерывности выполнения кода системы (т.е. отсутствие переключения задач во время исполнения микроядра).
Рис. 1.2. ОСРВ на основе микроядра
Недостатки модульной архитектуры фактически те же, что и у монолитной. Проблемы перешли с уровня интерфейса на уровень микроядра. Системный интерфейс по-прежнему не допускает переключения задач во время работы микроядра, только сократилось время пребывания в этом состоянии, проблемы с переносимостью микроядра уменьшились (в связи с сокращением его размера), но остались.
Объектная архитектура на основе объектов-микроядер
В этой архитектуре интерфейс между приложениями и ядром отсутствует вообще (рис. 1.3). Взаимодействие между компонентами системы (микроядрами) и пользовательскими процессами осуществляется посредством обычного вызова функций, поскольку и система, и приложения написаны на одном языке (обычно C++). Это обеспечивает максимальную скорость системных вызовов.
Рис. 1.3. Пример объектно-ориентированной ОСРВ
Фактическое равноправие всех компонент системы обеспечивает возможность переключения задач в любое время. Объектно-ориентированный подход обеспечивает модульность, безопасность, легкость модернизации и повторного использования кода.
В отличие от предыдущих систем, не все компоненты самой операционной системы должны быть загружены в оперативную память. Если микроядро уже загружено для другого приложения, то оно повторно не загружается, а используется код и данные уже имеющегося микроядра. Все эти приемы позволяют сократить объем требуемой памяти. Поскольку разные приложения разделяют одни микроядра, то они должны работать в одном адресном пространстве. Следовательно, система не может использовать виртуальную память и тем самым работает быстрее (так как исключаются задержки на трансляцию виртуального адреса в физический).
1.5. Обзор некоторых коммерческих ОСРВ
Операционная система OS-9
OS-9 фирмы Microware относится к классу UNIX-подобных операционных систем реального времени. По своей сути OS-9 является многозадачной ОС с вытесняющей приоритетной диспетчеризацией, допускающая возможность многопользовательской работы. Объектно-ориентированный модульный дизайн системы позволяет конфигурировать систему в очень широком диапазоне от встраиваемых систем до больших сетевых приложений. Согласно этой концепции все функциональные компоненты OS-9, включая ядро, иерархические файловые менеджеры, драйвера устройств и т. д., реализованы в виде независимых модулей. Все модули операционной системы позиционно-независимы и могут быть размещены в ПЗУ, а также могут удаляться из системы в процессе ее функционирования без какой-либо повторной инсталляции или перекомпоновки. На рисунке 1.4 приведена упрощенная структурная схема операционной системы.
Структура операционной системы OS-9
Рис. 1.4. Структура операционной системы OS-9
Ядро обеспечивает основной системный сервис, включая управление процессами и распределение ресурсов.
Основные характеристики:
-
Архитектура: на основе микроядра
-
Стандарт: собственный, вызовы похожи на UNIX
Свойства как ОСРВ:
-
Многозадачность: многопроцессность
-
Многопроцессорность: да
-
Уровней приоритетов: 65535
-
Время реакции: 3 мкс
-
Планирование: приоритетное, FIFO, специальный механизм планирования; preemptive ядро
-
ОС разработки (host): UNIX/Windows
-
Процессоры (target): Motorola 68xxx, Intel 80x86, ARM, MIPS, PowerPC
-
Линии связи host-target: последовательный канал и ethernet
-
Минимальный размер: 16Kb
-
Средства синхронизации и взаимодействия: разделяемая память, сигналы, семафоры, события.
Операционная система VxWorks
VxWorks относится к операционным системам «жесткого» реального времени. Характерной чертой этой ОС является то, благодаря ее развитым сетевым возможностям, вся разработка ПО ведется на инструментальном компьютере (хост-системе) с использованием кросс-средств для последующего исполнения на целевой машине под управлением VxWorks.
Отличительная черта системы - возможность управлять работой сложных комплексов реального времени и бортовых устройств, использующих процессорные элементы различных поставщиков. Три основных компонента данной ОС РВ образуют единую интегрированную среду: собственно ядро системы, управляющее процессором; набор средств межпроцессорного взаимодействия; комплект коммуникационных программ для работы с Ethernet или последовательными каналами связи.
Основные характеристики:
1. Архитектура: монолитная
2. Стандарт: собственный и POSIX 1003
3. Свойства как ОСРВ:
-
Многозадачность: многопроцессность и многозадачность
-
Многопроцессорность: да
-
Уровней приоритетов: 256
-
Время реакции: 4 мкс
-
Время переключения контекста: 15 мкс
-
Планирование: приоритетное; preemptive ядро
4. ОС разработки (host): UNIX/Windows
5. Процессоры (target): Motorola 68xxx, Intel 80x86, Intel 80960, PowerPC, SPARC, Alpha, MIPS, ARM
6. Линии связи host-target: последовательный канал, ethernet, шина VME
7. Минимальный размер: 22Kb
8. Средства синхронизации и взаимодействия: семафоры POSIX 1003, очереди, сигналы…
Операционная система QNX
Операционная система QNX канадской компании QNX Software System Ltd. построена на основе иерархической микроядерной архитектуры. Упрощенная структурная схема этой ОС приведена на рисунке 1.5.
Рис. 1.5. Микроядерная структура QNX
Микроядро QNX выполняет следующие функции:
-
межпроцессорный обмен;
-
низкоуровневый сетевой обмен;
-
диспетчеризация задач;
-
низкоуровневая обработка прерываний.
Основные характеристики:
1. Архитектура: на основе микроядра
2. Стандарт: POSIX 1003
3. Свойства как ОСРВ:
-
Многозадачность: POSIX 1003 (многопроцессность и многозадачность)
-
Многопроцессорность: да
-
Уровней приоритетов: 32
-
Время реакции: 4,3 мкс
-
Время переключения контекста: 13 мкс
-
Планирование: FIFO, round robin, адаптивное; preemptive ядро
4. Процессоры (target): Intel 80x86
5. Минимальный размер: 60Kb
6. Средства синхронизации и взаимодействия: POSIX 1003 (семафоры, mutex, condvar)
Операционная система LynxOS
Система LynxOS выпускается фирмой Lynx Real Time Systems (Los Gatos, USA). ОСРВ из клона UNIX-систем, обеспечивающая детерминированное время отклика по запросам.
Основные характеристики:
1. Архитектура: на основе микроядра
2. Стандарт: POSIX 1003
3. Свойства как ОСРВ:
-
Многозадачность: POSIX 1003 (многопроцессность и многозадачность)
-
Многопроцессорность: да
-
Уровней приоритетов: 255
-
Время реакции: 7 мкс
-
Время переключения контекста: 17 мкс
-
Планирование: FIFO, round robin, Quantum, preemptive ядро
4. Процессоры (target): Intel 80x86, Motorola 68xxx, SPARC, PowerPC
5. Минимальный размер:
полной системы: 256Kb
усеченной системы: 124Kb
только ядра: 33Kb
Систему можно записать в ROM.
6. Средства синхронизации и взаимодействия: POSIX 1003 (семафоры, mutex, condvar)
Операционная система pSOS
Система pSOS выпускается Integrated Systems (Santa Clara, USA).
Основные характеристики:
1. Архитектура: на основе микроядра
2. Стандарт: собственный
3. Свойства как ОСРВ:
-
Многозадачность: многопроцессность и многозадачность
-
Многопроцессорность: да
-
Уровней приоритетов: 255
-
Время реакции: 4 мкс
-
Время переключения контекста: 12мкс
-
Планирование: приоритетное; preemptive ядро
4. ОС разработки (host): UNIX/Windows
5. Процессоры (target): Motorola 68xxx, Intel 80x86, Intel 80960, ARM, MIPS, PowerPC
6. Минимальный размер: 15Kb
-
Средства синхронизации и взаимодействия: семафоры, mutex, события, и тд.
1.6. Выводы к главе 1
Основными отличиями ОСРВ от ОС общего назначения являются:
-
Ориентация на обработку внешних событий;
-
Детерминированное время реакции на внешнее событие;
-
Модульная организация;
-
Небольшой размер системы.
В главе были рассмотрены важнейшие параметры и механизмы ОСРВ, такие как:
-
Время реакции системы;
-
Время переключения контекста;
-
Виды диспетчеризации;
-
Механизмы синхронизации и межзадачного взаимодействия
Классификация ОСРВ позволяет выделить наиболее оптимальную структуру построения ОСРВ. Очевидно, что операционные системы с монолитной архитектурой, вследствие их направленности на конкретные процессорные платформы и характера взаимодействия с ядром, вряд ли могут быть использованы в качестве относительно универсальных ОСРВ для систем высокой готовности. ОСРВ на основе микроядра обладает рядом преимуществ по сравнению с монолитной архитектурой, а комбинация с объектно-ориентированным подходом, позволит системе стать аппаратно-независимой и обеспечить быструю реакцию на внешние события.
В заключении были перечислены основные свойства некоторых распространенных ОСРВ. К сожалению, ни одну из рассмотренных операционных систем нельзя назвать сетевой в широком смысле этого слова, так как уровень сетевого обмена, заложенный в многих из них соответствует уровню локальной сети. Многопроцессорная поддержка, введенная в VxWorks ориентирована только на системы с общей памятью. Отсутствие механизма отказоустойчивости, допускающего как отказы соединений (зачатки этого есть в QNX), так и отказы процессорных элементов, необходимого для отказоустойчивых специализированных вычислительных систем, нет ни в одной из этих операционных систем. Таким образом, задачей разработчиков является добавление таких модулей существующим ОСРВ, которые позволили бы обеспечить отказоустойчивость распределенных вычислительных систем.
2. Поддержка отказоустойчивости вычислительных систем средствами операционных систем реального времени