
- •«Исследование применимости оценки функции Харрингтона для выбора операционных систем и операционных систем реального времени»
- •230100.68 «Информатика и вычислительная техника»
- •230100.68.30 «Информационные системы космических аппаратов и центров управления полетами»
- •Задание на выпускную квалификационную работу
- •Реферат
- •Глава 1. Аналитическая часть – обзор. 8
- •Глава 2. Параметризация ос и осрв. 59
- •Глава 3. Получение оценки ос и осрв 69
- •Ключевые слова
- •Введение
- •Список сокращений
- •Глава 1. Аналитическая часть.
- •Виды и классификации ос и осрв
- •Классификации ос.
- •1.1.1.2. Классификации осрв
- •Описание функционала ос и осрв
- •Основные параметры ос
- •Основные параметры осрв
- •Описание особенностей ос и осрв
- •Выбор параметров ос и осрв.
- •Общие характеристики Windows.
- •Общие характеристики Linux.
- •Проблема выбора ос. Выбор операционной системы
- •Выбор параметров для оценки ос.
- •Поддержка многопроцессорности.
- •Многозадачности.
- •Модули, пакеты, библиотеки.
- •Производительность
- •Сетевые средства
- •Модульная структура
- •Поддержка: возможность обновлений и редакций
- •Сопровождение (литература, помощь, обратная связь)
- •Набор функций для обработки информации
- •Устойчивость
- •Совместимость
- •Место, заниманиемое на диске.
- •13. Возможность установки на иное оборудование
- •Методы принятия решения при параметрическом выборе (примеры функций и методов).
- •Параметрические и непараметрические гипотезы
- •Состоятельность и несмещённость критериев
- •1.2.6. Постановка задачи многокритериального выбора.
- •Выводы к разделу
- •Глава 2. Параметризация ос и осрв.
- •2.1. Применения функции «желательности» Харрингтона в технических системах
- •2.3. Выбор ос и осрв для сравнения
- •2.4. Описание методики исследования
- •Выводы к главе 2.
- •Глава 3. Получение оценки ос и осрв
- •Выбор аппаратной платформы и последовательность тестирования ос
- •3.2. Расчет оценок ос и осрв.
- •3.2.1. Расчет ос – визуализация по итогам исследования
- •Заключение по результатам исследования ос.
- •3.3.2. Расчет осрв – визуализация по итогам исследования
- •Итоговые оценки осрв
- •Экспертная оценка осрв
- •3.3. Выводы и выработка рекомендации по выбору ос и осрв с помощью Функции желательности Харрингтона.
- •Список использованной литературы:
1.1.1.2. Классификации осрв
Системы жёсткого и мягкого реального времени.
Операционные системы реального времени иногда делят на два типа — системы жесткого реального времени и системы мягкого реального времени.
Операционная система, которая может обеспечить требуемое время выполнения задачи реального времени даже в худших случаях, называется операционной системой жёсткого реального времени.
Операционная система, которая может обеспечить требуемое время выполнения задачи реального времени в среднем, называется операционной системой мягкого реального времени.
Системы жёсткого реального времени не допускают задержек реакции системы, так как это может привести к:
потере актуальности результатов
большим финансовым потерям
авариям и катастрофам
Если не выполняется обработка критических ситуаций либо она происходит недостаточно быстро, система жёсткого реального времени прерывает операцию и блокирует её, чтобы не пострадала надёжность и готовность остальной части системы. Примерами систем жёсткого реального времени могут быть — бортовые системы управления (на самолёте, космическом аппарате, корабле, и пр.), системы аварийной защиты, регистраторы аварийных событий.
Системы мягкого реального времени характеризуются возможностью задержки реакции, что может привести к увеличению стоимости результатов и снижению производительности системы в целом. Примером может служить работа компьютерной сети. Если система не успела обработать очередной принятый пакет, это приведет к остановке на передающей стороне и повторной посылке (в зависимости от протокола). Данные при этом не теряются, но производительность сети снижается.
Основное отличие систем жёсткого и мягкого реального времени можно охарактеризовать так: система жёсткого реального времени никогда не опоздает с реакцией на событие, система мягкого реального времени — не должна опаздывать с реакцией на событие.
Обозначим операционной системой реального времени такую систему, которая может быть использована для построения систем жёсткого реального времени. Это определение выражает отношение к ОСРВ как к объекту, содержащему необходимые инструменты, но также означает, что эти инструменты ещё необходимо правильно использовать.
Большинство программного обеспечения ориентировано на «мягкое» реальное время. Для подобных систем характерно:
гарантированное время реакции на внешние события (прерывания от оборудования);
жёсткая подсистема планирования процессов (высокоприоритетные задачи не должны вытесняться низкоприоритетными, за некоторыми исключениями);
повышенные требования к времени реакции на внешние события или реактивности (задержка вызова обработчика прерывания не более десятков микросекунд, задержка при переключении задач не более сотен микросекунд)
Классическим примером задачи, где требуется ОСРВ, является управление роботом, берущим деталь с ленты конвейера. Деталь движется, и робот имеет лишь маленький промежуток времени, когда он может её взять. Если он опоздает, то деталь уже не будет на нужном участке конвейера, и следовательно, работа не будет выполнена, несмотря на то, что робот находится в правильном месте. Если он подготовится раньше, то деталь ещё не успеет подъехать, и он заблокирует ей путь.
Классификация архитектуры ОСРВ
В своем развитии ОСРВ строились на основе следующих архитектур.
Монолитная архитектура. ОС определяется как набор модулей, взаимодействующих между собой внутри ядра системы и предоставляющих прикладному ПО входные интерфейсы для обращений к аппаратуре. Основной недостаток этого принципа построения ОС заключается в плохой предсказуемости её поведения, вызванной сложным взаимодействием модулей между собой.
Уровневая (слоевая) архитектура. Прикладное ПО имеет возможность получить доступ к аппаратуре не только через ядро системы и её сервисы, но и напрямую. По сравнению с монолитной такая архитектура обеспечивает значительно большую степень предсказуемости реакций системы, а также позволяет осуществлять быстрый доступ прикладных приложений к аппаратуре. Главным недостатком таких систем является отсутствие многозадачности.
Архитектура «клиент-сервер». Основной её принцип заключается в вынесении сервисов ОС в виде серверов на уровень пользователя и выполнении микроядром функций диспетчера сообщений между клиентскими пользовательскими программами и серверами — системными сервисами. Преимущества такой архитектуры:
Повышенная надёжность, так как каждый сервис является, по сути, самостоятельным приложением и его легче отладить и отследить ошибки.
Улучшенная масштабируемость, поскольку ненужные сервисы могут быть исключены из системы без ущерба к её работоспособности.
Повышенная отказоустойчивость, так как «зависший» сервис может быть перезапущен без перезагрузки системы.
Архитектуры операционных систем реального времени |
||
|
|
|
Монолитная архитектура |
Уровневая (слоевая) архитектура |
Архитектура «клиент–сервер» |
Вытесняющая или приоритетная многозадачность (режим реального времени)
Вид многозадачности, в котором операционная система сама передает управление от одной выполняемой программы другой в случае завершения операций ввода-вывода, возникновения событий в аппаратуре компьютера, истечения таймеров и квантов времени, или же поступлений тех или иных сигналов от одной программы к другой. В этом виде многозадачности процессор может быть переключен с исполнения одной программы на исполнение другой без всякого пожелания первой программы и буквально между любыми двумя инструкциями в её коде. Распределение процессорного времени осуществляется планировщиком процессов. К каждой задаче может быть назначен пользователем или самой операционной системой определенный приоритет, что обеспечивает гибкое управление распределением процессорного времени между задачами (например, можно снизить приоритет ресурсоёмкой программе, снизив тем самым скорость её работы, но повысив производительность фоновых процессов). Этот вид многозадачности обеспечивает более быстрый отклик на действия пользователя.
Преимущества: возможность полной реализации многозадачного ввода-вывода в ядре ОСРВ, когда ожидание завершения ввода-вывода одной программой позволяет процессору тем временем исполнять другую программу. Сильное повышение надежности системы в целом, в сочетании с использованием защиты памяти — идеал в виде «ни одна программа пользовательского режима не может нарушить работу ОСРВ в целом» становится достижимым, вне вытесняющей многозадачности он не достижим даже в теории. Возможность полного использования многопроцессорных и многоядерных систем.
Недостатки: необходимость особой дисциплины при написании кода, особые требования к его реентрантности, к защите всех разделяемых и глобальных данных объектами типа критических секций и mutex’ов.
Процессы, потоки выполнения. Многозадачная (multi-process) система позволяет двум или более программам выполняться одновременно. Многопотоковая (multi-threaded) система позволяет одной программе выполнять сразу несколько потоков одновременно. Современные операционные системы сочетают в себе оба эти свойства.
Процесс — это понятие, относящееся к операционной системе. Каждый раз, когда запускается приложение, система создает и запускает новый процесс. С каждым процессом система связывает такие ресурсы, как:
виртуальное адресное пространство;
исполнимый код и данные;
базовый приоритет;
описатели объектов;
переменные окружения.
Поток (thread) — это основной элемент системы, которому ОС выделяет машинное время. Поток может выполнять какую-то часть общего кода процесса, в том числе и ту часть, которая в это время уже выполняется другим потоком.
Поток (thread) определяет последовательность исполнения кода в процессе.
Процесс ничего не исполняет, он просто служит контейнером потоков.
Потоки всегда создаются в контексте какого-либо процесса, и вся их жизнь проходит только в его границах.
Потоки могут исполнять один и тот же код и манипулировать одними и теми же данными, а также совместно использовать описатели объектов ядра, поскольку таблица описателей создается не в отдельных потоках, а в процессах.
И так, мы можем определить четкие различия ОС и ОСРВ, с помощью таблицы 1.
Таблица 1 - Таблица сравнения ОСРВ и обычных операционных систем.
|
ОС реального времени |
ОС общего назначения |
Основная задача |
Успеть среагировать на события, происходящие на оборудовании |
Оптимально распределить ресурсы компьютера между пользователями и задачами |
На что ориентирована |
Обработка внешних событий |
Обработка действий пользователя |
Как позиции-онируется |
Инструмент для создания конкретного аппаратно-программного комплекса реального времени |
Воспринимается пользователем как набор приложений, готовых к использованию |
Кому предназначена |
Квалифицированный разработчик |
Пользователь средней квалификации |