ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 03.02.2024
Просмотров: 80
Скачиваний: 2
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
Титульный лист
Оглавление
Введение 3
Определения 3
Современное состояние предметной области 5
Отличия от операционных систем общего назначения 6
Несколько важнейших невидимых задач операционной системы 10
Особенности 13
Список литературы 14
Введение
Операционные системы реального времени — это специализированные программные системы, предназначенные для управления и выполнения приложений реального времени. Эти приложения характеризуются потребностью в немедленном реагировании и детерминированном поведении, что означает, что система должна быть способна реагировать на события в течение фиксированного периода времени. ОСРВ используются в различных отраслях, включая аэрокосмическую, автомобильную, бытовую электронику, медицинские устройства и промышленную автоматизацию. Они становятся все более важными по мере того, как все больше устройств и систем подключаются и требуют возможностей обработки в реальном времени.
Основное требование ОСРВ - обеспечить предсказуемость и детерминацию поведения системы при наихудшем внешнем положении, что сильно отличается от требования к производительности, эффективности и производительности операционных систем общей конфигурации. Хорошие ОСРВ демонстрируют предсказуемые поведения при каждом сценарии нагрузки в систему одновременное прерывание и потоковое выполнение.
Существует несколько различий между реальными системами и встроенными. Встроенные системы необязательно требуют прогнозируемого поведения, так что они не реальные системы. Впрочем, даже случайный взгляд на возможную встраиваемую систему свидетельствует о том, что большая часть встроенных систем требует предсказуемых действий, хотя бы для определенной функции, и таким образом эти системы могут быть отнесены к реальным системам.
Определения
Система реального времени - это тип операционной системы, основной целью которой является предоставление набора функций, необходимых и достаточных для гарантированного развертывания системы реального времени из программного обеспечения на конкретном оборудовании.
Если корректность поведения системы зависит не только от логической корректности вычислений, но и от времени, в течение которого эти вычисления выполняются
, то такая система называется системой реального времени. Другими словами, для событий, происходящих в такой системе, время, в которое происходит событие, так же важно, как и логическая корректность самого события.
Развитие современных операционных систем
Последняя тенденция в разработке операционных систем - перемещение кода вверх, удаление как можно большего количества функций ядра и оставление минимального микроядра. Обычно это достигается путем перекладывания большинства задач операционной системы на пользовательский процесс. Когда пользовательский процесс получает функциональный запрос, например, на чтение файла, пользовательский процесс (теперь он называется серверным или клиентским процессом) отправляет запрос серверу (слуге), который обрабатывает его и отправляет ответ.
Разделение операционной системы на несколько частей, каждая из которых управляет только одной частью системы (файловая система, процесс, терминал или память), делает все части меньше и проще в использовании. К тому же все серверы функционируют как процессы пользовательского режима и не ядра и поэтому не имеют прямой доступ к аппарату. Таким образом, если что-то не так на сервере файлов, то служба файлового запроса может отключиться, но обычно вся машина не выходит из строя.
Еще одно преимущество моделей клиент-сервера - легкое адаптирование к использованию в распределенной системе. Когда пользователь общается с сервером, отправляя сообщение, клиент не должен знать, работает ли сообщение в локальном режиме на своей машине или отправляется по сети в сервер на удаленную машину. По мнению клиента, оба случая одинаковы – запрос отправили и получили ответ.
История, описанная выше, в которой ядро управляет доставкой сообщений клиента на сервер, не очень реальна. Некоторые операционные функции, например, загрузка инструкций физическим регистрам ввода и вывода, сложно выполнить, если это возможно, программа пользовательского простора. Есть два способа решить эту проблему.
Один из них заключается в том, что важные серверные процессы (например, драйверы устройств ввода-вывода) работают в режиме ядра и имеют полный доступ к аппаратуре, но общаются с другими процессами через обычные системы обмена сообщениями.
Другой способ - включить в ядро минимальный механизм обработки информации и оставить принятие политических решений на усмотрение сервера пользовательского пространства. Например, ядро может распознать сообщение, отправленное на определенный адрес. Для ядра это означает, что оно принимает содержимое сообщения и вставляет его, например, в определенный регистр ввода-вывода диска, чтобы вызвать операцию чтения диска.
В этом примере ядро может слепо копировать байты сообщения в дисковые регистры, не проверяя, являются ли эти байты действительными или осмысленными. (Очевидно, что должна использоваться какая-то схема для ограничения круга процессов, которым разрешено посылать такие сообщения).
Современное состояние предметной области
В настоящее время Microsoft и Apple являются самыми популярными в мире компаниями, производящими операционные системы и программное обеспечение.
Современные операционные системы от Microsoft:
-
Windows XP (Windows NT 5.1) -
Windows Vista (Windows NT 6.0) -
Windows 7 (Windows NT 6.1) -
Windows 8 (Windows NT 6.2 ) -
Windows 10 (Windows NT 10)
Современные операционные системы от Apple Inc:
-
Mac OS 10.0 -
Mac OS 10.1 -
Mac OS 10.2 -
Mac OS 10.3 -
Mac OS 10.4 -
Mac OS 10.5 -
Mac OS 10.6 -
Mac OS 10.7 -
Mac OS 10.8 -
Mac OS 10.9
Современные мобильные операционные системы:
-
Symbian OS -
Windows Mobile -
Linux-системы (Android) -
Palm OS -
iPhone OS -
BlackBerry OS
Отличия от операционных систем общего назначения
Основным отличием служб ядра ОСРВ является детерминированный характер их работы, основанный на строгом контроле времени. В данном случае детерминированный характер означает, что для запуска службы ОС требуется временной интервал известной длительности. Теоретически это время может быть вычислено по математической формуле, которая должна быть строго алгебраической и не должна содержать временных параметров случайной природы; случайные величины, определяющие время выполнения задач OSRP, могут вызвать нежелательные задержки приложений, а последующие задачи не уложатся в свой временной квант и могут привести к ошибкам.
В этом отношении общая операционная система не является детерминированной. Ее службы могут допускать случайные задержки в своем поведении, что может замедлить реакцию приложения на действия пользователя в неизвестное время. При проектировании обычной операционной системы разработчики не обращают внимания на математические инструменты, рассчитывающие время выполнения конкретной задачи или службы. Для систем данного типа это не так важно.
Архитектура ОСРВ
Архитектура операционных систем претерпела значительные изменения за время своего существования. Один из самых ранних принципов разработки, так называемая монолитная операционная система (Рисунок 1), представляет операционную систему как набор модулей, которые взаимодействуют различными способами в рамках ядра системы, обеспечивая входные интерфейсы для прикладных программ, взаимодействующих с аппаратным обеспечением. Основным недостатком этой архитектуры является низкая предсказуемость ее поведения, вызванная сложными взаимодействиями модулей системы друг с другом.
Рисунок 1. Системные сервисы
Однако большинство современных ОС, как реального времени, так и общего назначения, строятся именно по этому принципу.
Уровень ОС широко используется в приложениях автоматизации в качестве ОСВС (рис. 2). Примером такой операционной системы является известная система MS-DOS. В системах этого класса приложения могут обращаться к аппаратуре как напрямую, так и через ядро системы и установленные на нем службы. Именно этот принцип на протяжении многих лет определял работу DOS. По сравнению с монолитными операционными системами, эта архитектура обеспечивает гораздо большую предсказуемость реакции системы и быстрый доступ приложений к аппаратному обеспечению. Недостатком этих систем является то, что они не поддерживают многозадачность. В этой архитектуре вопросы асинхронной обработки событий сводятся к выделению сообщений и последующему последовательному поиску и обработке буферов. В этом случае критическое время обслуживания покрывается высокой скоростью вычислительного комплекса по сравнению со скоростью внешних процессов.
Рисунок 2. Прикладная программа
Одна из самых эффективных архитектур создания реального времени операционных систем - это архитектура клиента-сервера. Основным принципом архитектуры является то, что на уровне пользователя размещается операционная система в виде сервера, микроядро является менеджером сообщений между программами клиента и сервером системных сервисов. Это архитектура обладает рядом преимуществ в зависимости от требований ОСРВ и встроенных систем.
-
Повышается надежность операционной системы, поскольку каждая служба, по сути, является независимым приложением, что облегчает отладку и дебаггинг -
Лучшая масштабируемость системы, поскольку ненужные службы могут быть удалены из системы без ущерба для производительности -
Лучшая отказоустойчивость системы, так как застрявшие службы могут быть перезапущены без перезагрузки системы
Рисунок 3. Уровень пользователя
В настоящее время ОС реализуется не так много по принципу сервера клиента. Среди популярных ОСРВ, реализующих микроядровую архитектуру, можно назвать OS9, QNX и OS9.
Виды задач
В каждом процессе есть один или несколько вопросов. С помощью операционной системы задачи создаются новые. Задания делятся на 3 категории, исходя из того как они выполняются.
-
Циклические задачи. Характерны для процессов управления и интерактивных процессов. -
Периодические задачи. Характерны для многих технических процессов и синхронизированных задач. -
Импульсные задачи. Характерны для сигнальных задач и асинхронных технических процессов.
Несколько важнейших невидимых задач операционной системы
1.Обеспечивает аппаратно-программное «сцепление»
Операционная система является своеобразным «переводчиком» между аппаратной и программной системой компьютеров. При открытии корпуса компьютера можно увидеть различные плате, чипсы, кабели, другие элементы. Это функциональная инфраструктура, позволяющая программам функционировать. Впрочем, программа не способна просто брать и использовать ресурсы аппаратного процессора. Это происходит через операционную систему. Сейчас операционные системы чаще всего называются «платформами». И это имя совершенно точно отражается в их сущности. Операционная система – это платформа для загрузки программного обеспечения. Или, как теперь называется, приложение является операционной системой. Операционная система позволяет программе «общаться» с аппаратом. Это же касается устройств ввода-вывода. Простейший приём устройства ввода – клавиатура и устройство вывода – монитор.
2.Заставляет одно и то же приложение работать на разном «железе»
Операционная система, позволяющая запускать программное обеспечение на различных компьютерах, а не только на компьютерах определенной конфигурации. Когда-то программное обеспечение писалось для конкретных моделей компьютеров. Фактически, на микрокомпьютерах конца 1970-х годов прошлого века, прародителях современных персональных компьютеров, языки программирования функционировали как операционные системы. Однако современные операционные системы действуют как "адаптер" между программой и "железом" компьютера. При наличии двух моделей компьютеров, компоненты, необходимые для их сборки, различаются.