1) Низкоуровневое управление памятью -Отображение страниц на физическую память
— Все остальные механизмы предоставляются сервисами, работающими в режиме пользователя
Защита адресного пространства
Механизмы замещения страниц
Управление виртуальной памятью
3)Ввод/вывод и обработка прерываний.
Операционные системы реального времени.
Определение
Операционная система реального времени — тип операционной системы, основное назначение которой — предоставление необходимого и достаточного набора функций для работы систем реального времени на конкретном аппаратном оборудовании.
Классификация
Операционные системы реального времени делятся на:
ОС жёсткого времени (бортовые системы управления на самолёте, космическом аппарате, корабле, и пр., системы аварийной защиты, регистраторы аварийных событий);
ОС мягкого времени (может обеспечить требуемое время выполнения задачи реального времени в среднем).
ОС жёсткого реального времени не допускают задержек реакции системы, так как это может привести к потере актуальности результатов, большим финансовым потерям или даже авариям и катастрофам. Ситуация, в которой обработка событий происходит за время, большее предусмотренного, в системе жёсткого реального времени считается фатальной ошибкой.
В системе мягкого реального времени задержка реакции считается восстановимой ошибкой, которая может привести к увеличению стоимости результатов и снижению производительности, но не является фатальной. Примером может служить работа компьютерной сети. Если система не успела обработать очередной принятый пакет, это приведёт к остановке на передающей стороне и повторной посылке (в зависимости от протокола). Данные при этом не теряются, но производительность сети снижается.
Архитектура ядра
Архитектура ОС реального времени стоится на основе следующих архитектур:
М
онолитная
архитектура.
ОС определяется как набор модулей,
взаимодействующих между собой внутри
ядра системы и предоставляющих
прикладному ПО входные интерфейсы для
обращений к аппаратуре. Основной
недостаток этого принципа построения
ОС заключается в плохой предсказуемости
её поведения, вызванной сложным
взаимодействием модулей между собой.
Уровневая (слоевая) архитектура. Прикладное ПО имеет возможность получить доступ к аппаратуре не только через ядро системы и её сервисы, но и напрямую. По сравнению с монолитной такая архитектура обеспечивает значительно большую степень предсказуемости реакций системы, а также позволяет осуществлять быстрый доступ прикладных приложений к аппаратуре. Главным недостатком таких систем является отсутствие многозадачности.
А
рхитектура
«клиент-сервер».
Основной её принцип заключается в
вынесении сервисов ОС в виде серверов
на уровень пользователя и выполнении
микроядром функций диспетчера сообщений
между клиентскими пользовательскими
программами и серверами — системными
сервисами. Преимущества
такой архитектуры:
Повышенная надёжность, так как каждый сервис является, по сути, самостоятельным приложением и его легче отладить и отследить ошибки;
Улучшенная масштабируемость, поскольку ненужные сервисы могут быть исключены из системы без ущерба к её работоспособности;
Повышенная отказоустойчивость, так как «зависший» сервис может быть перезапущен без перезагрузки системы.
Определение
Многозадачность - свойство операционной системы или среды выполнения обеспечивать возможность параллельной (или псевдопараллельной) обработки нескольких задач. Истинная многозадачность операционной системы возможна только в распределённых вычислительных системах.
Виды многозадачности:
Процессная многозадачность (основанная на процессах — одновременно выполняющихся программах). Здесь программа — наименьший элемент управляемого кода, которым может управлять планировщик операционной системы. Более известна большинству пользователей (работа в текстовом редакторе и прослушивание музыки).
Поточная многозадачность (основанная на потоках). Наименьший элемент управляемого кода — поток (одна программа может выполнять 2 и более задачи одновременно).
Многопоточность — специализированная форма многозадачности.
Типы псевдопараллельной многозадачности |
|
Простое переключение |
«+»: можно задействовать уже работающие программы, написанные без учёта многозадачности.
«-»: невозможно в неинтерактивных системах, работающих без участия человека. Взаимодействие между программами крайне ограничено. |
Совместная (кооперативная) многозадачность |
«+»: отсутствие необходимости защищать все разделяемые структуры данных объектами типа критических секций и мьютексов.
«-»:
|
Вытесняющая (приоритетная) многозадачность – «режим реального времени».
Примеры ОС:
|
«+»:
«-»: необходимость особой дисциплины при написании кода, особые требования к его реентерабельности, к защите всех разделяемых и глобальных данных объектами типа критических секций и мьютексов. |
Особенности
Отличия ОС реального времени от ОС общего назначения:
Детерминированность (строгий контроль времени). Для выполнения одного сервиса операционной системы требуется временной интервал заведомо известной продолжительности.
Планирование задач
Каждая задача имеет значение приоритета;
Планировщик может остановить выполнение задачи с меньшим приоритетом для запуска другой, имеющей более высокий приоритет.
Каждый раз, когда планировщик задач получает сигнал о наступлении некоторого внешнего события (триггер), причина которого может быть как аппаратная, так и программная, он действует по следующему алгоритму:
Определяет, должна ли текущая выполняемая задача продолжать работать.
Устанавливает, какая задача должна запускаться следующей.
Сохраняет контекст остановленной задачи (чтобы она потом возобновила работу с места остановки).
Устанавливает контекст для следующей задачи.
Запускает эту задачу.
В обычных ОСРВ задача может находиться в трёх возможных состояниях:
задача выполняется;
задача готова к выполнению;
задача заблокирована.
Разделение ресурсов
Многозадачным системам необходимо распределять доступ к ресурсам. Одновременный доступ двух и более процессов к какой-либо области памяти или другим ресурсам представляет определённую угрозу. Существует три способа решения этой проблемы:
временное блокирование прерываний,
двоичные семафоры,
посылка сигналов.