Сравнительная характеристика операционных систем реального времени
Особенности операционных систем реального времени, области применения. Функциональные требования к ним. Признаки классификации ОС. Системы жёсткого и мягкого реального времени и архитектуры ОСРВ. Сравнение ОСРВ с ОС общего назначения, анализ возможностей.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 14.10.2022 |
Размер файла | 38,0 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Государственное автономное профессиональное образовательное учреждение
Краснодарского края
«Ленинградский социально-педагогический колледж»
КУРСОВАЯ РАБОТА
Сравнительная характеристика операционных систем реального времени
Специальность 09.02.05 Прикладная информатика (по отраслям)
ОП.07 Операционные системы и среды
Выполнил:
Касьян Дмитрий Александрович
Группа И2Б
сервисное отделение
Содержание
Введение
1. Операционные системы реального времени
2. Особенности операционных систем
3. Системы жёсткого и мягкого реального времени и Архитектуры ОСРВ
4. Сравнительная характеристика операционных систем
Заключение
Список литературы
Введение
Концепции, лежащие в основе большинства существующих в наши дни операционных систем реального времени, уходят своими корнями в конец 70-х начало 80-х годов прошлого столетия.
Операционные системы реального времени и встраиваемые системы работают в «стесненных» условиях, когда объем памяти и мощность процессора ограничены. Они должны обеспечивать работоспособность служб для пользователей и окружающего мира, с которым они взаимодействуют, в строгих временных рамках.
Системы реального времени отличаются очень скромными возможностями пользовательского интерфейса, поскольку передаваемая в эксплуатацию система представляет собой "черный ящик". Очень важной частью и основной особенностью операционной системы реального времени является управление ресурсами компьютера таким образом, чтобы определенная операция выполнялась в течение абсолютно одинакового периода времени каждый раз, когда она должна осуществляться и которые нельзя превышать.
В сложной машине более быстрое перемещение детали, чем это необходимо, лишь по той причине, что это позволяют ресурсы системы, может привести к катастрофическим результатам, так же, как и невозможность осуществления перемещения этой детали вследствие занятости системы.
Обычно при проектировании системы реального времени состав выполняемых ею программ (задач) известен заранее. Известны и многие их параметры, которые необходимо учитывать при распределении ресурсов (например, объем памяти, приоритет, средняя длительность выполнения, открываемые файлы, используемые устройства и проч.). Поэтому для них заранее заводят дескрипторы задач с тем, чтобы впоследствии не тратить драгоценное время на организацию дескриптора и поиски для него необходимых ресурсов.
Для подлинной реализации режима реального времени необходима организация мультипрограммирования. Мультипрограммирование является основным средством повышения производительности вычислительной системы, а для решения задач реального времени производительность становится важнейшим фактором.
Цель исследования: обобщение теоретического материала по теме «Сравнительная характеристика операционных систем реального времени»
Проблема исследования: что представляют собой операционные системы реального времени? Удобны ли они в использовании?
Цель: сравнить и выявить наиболее удобную в использовании ОСРВ.
Объект изучения: операционные системы реального времени.
Предмет изучения: практическое применение ОСРВ.
В соответствии с объектом и предметом исследования были поставлены следующие ЗАДАЧИ:
- проанализировать учебную и научную литературу по теме исследования;
- рассмотреть классификацию ОСРВ;
- познакомиться с особенностями ОСРВ и выделить функциональные требования к ним;
- сравнить характеристики ОСРВ.
Новизна: заключается в выяснении наиболее удобной операционной системы, при помощи сравнивания характеристик.
Практическая значимость: исследование заключается в том, чтобы помочь пользователю выбрать конкретную операционную систему, сравнив их характеристики.
Структура курсовой работы состоит из введения, четырех пунктов, заключения и списка используемой литературы.
1. Операционные системы реального времени
Операционная система реального времени - это тип операционной системы. Есть много определений термина. Самые распространённые из них:
Операционная система, в которой успешность работы любой программы зависит не только от её логической правильности, но и от времени, за которое она получила этот результат. Если система не может удовлетворить временным ограничениям, должен быть зафиксирован сбой в её работе;
Стандарт POSIX 1003.1 даёт определение: «Реальное время в операционных системах - это способность операционной системы обеспечить требуемый уровень сервиса в определённый промежуток времени»;
Операционная система, реагирующая в предсказуемое время на непредсказуемое появление внешних событий;
Интерактивные системы постоянной готовности. В категорию ОСРВ их относят, исходя из маркетинговых соображений, и если интерактивную программу называют «работающей в реальном времени», то это лишь означает, что запросы от пользователя обрабатываются с задержкой, незаметной для человека. (2)
Операционные системы реального времени (ОСРВ) предназначены для обеспечения интерфейса к ресурсам критических по времени систем реального времени. Основной задачей в таких системах является своевременность выполнения обработки данных.
В качестве основного требования к ОСРВ выдвигается требование обеспечения предсказуемости или детерминированности поведения системы в наихудших внешних условиях, что резко отличается от требований к производительности и быстродействию универсальных ОС. Хорошая ОСРВ имеет предсказуемое поведение при всех сценариях системной загрузки.
Существует некое различие между системами реального времени и встроенными системами. От встроенной системы не всегда требуется, чтобы она имела предсказуемое поведение, и в таком случае она не является системой реального времени. Однако даже беглый взгляд на возможные встроенные системы позволяет утверждать, что большинство встроенных систем нуждается в предсказуемом поведении, по крайней мере, для некоторой функциональности, и таким образом, эти системы можно отнести к системам реального времени.
Мартин Тиммерман (директор компании «Real-Time Consult и Real-Time User's Support International (RTUSI)», обеспечивающей аппаратно-программную поддержку и занимающейся разработкой проектов систем реального времени) сформулировал следующие необходимые требования для ОСРВ:
- операционная система должна быть многозадачной и допускающей вытеснение;
- операционная система должна обладать понятием приоритета для потоков;
- операционная система должна поддерживать предсказуемые механизмы синхронизации;
- операционная система должна обеспечивать механизм наследования приоритетов;
- поведение операционной системы должно быть известным и предсказуемым (задержки обработки прерываний, задержки переключения задач, задержки драйверов и т.д.).
Это значит, что во всех сценариях рабочей нагрузки системы должно быть определено максимальное время отклика.
Основными ресурсами являются процессор, оперативная память и периферийные устройства. Управление ресурсами сводится к выполнению следующих задач: упрощение доступа к ресурсам; распределение их между процессами.
Реализация первой функции позволяет «спрятать» аппаратные особенности вычислительной системы и тем самым предоставить в распоряжение пользователю или программисту виртуальную машину с существенно облегченным управлением.
Таким образом, ОС поддерживает следующие интерфейсы: пользовательский и программный.
Функция распределения ресурсов является одной из наиболее важных задач, решаемых ОС, однако она присуща не всем ОС, а только тем, которые обеспечивают одновременное выполнение нескольких программ.
Процессом называется последовательность действий, предписанных программой или ее логически законченной частью, а также данные, используемые при вычислениях. Процесс является минимальной единицей работы, для которой выделяются ресурсы.
В настоящее время существует большое разнообразие ОС, которые классифицируются по следующим признакам:
- количество пользователей, одновременно обслуживаемых системой;
- число процессов, которые могут одновременно выполняться под управлением ОС;
- тип доступа пользователя к системе;
- тип аппаратно-программного комплекса.
В соответствии с первым признаком различаются одно- и многопользовательские ОС. Второй признак делит ОС на одно- и многозадачные (далее речь пойдет только о многозадачных ОС).
В соответствии с третьим признаком ОС делятся:
- системы с пакетной обработкой. В этом случае из программ, подлежащих выполнению, формируется пакет, который предъявляется системе для обработки. В этом случае пользователи непосредственно с ОС не взаимодействуют;
- системы разделения времени, обеспечивающие одновременный интерактивный доступ к вычислительной системе нескольких пользователей через терминалы. Ресурсы системы выделяются при этом каждому пользователю “по очереди” в соответствии с той или иной дисциплиной обслуживания;
- системы реального времени, которые должны обеспечивать гарантированное время ответа на внешние события.
Четвертый признак делит ОС на одно- и многопроцессорные, сетевые и распределенные.
В течение длительного времени основными потребителями ОСРВ были военная и космическая области. Сейчас ситуация кардинально изменилась и ОСРВ можно встретить даже в товарах широкого потребления.
Основные области применения ОСРВ:
Военная и космическая области: бортовое и встраиваемое оборудование:
системы измерения и управления, радары;
- цифровые видеосистемы, симуляторы;
- ракеты, системы определения положения и привязки к местности.
Промышленность:
- автоматические системы управления производством (АСУП) (computer aided manufacturing (CAM), автоматические системы управления технологическим процессом (АСУГП);
- автомобилестроение: стимуляторы, системы: управления мотором, автоматическое сцепление, системы антиблокировки колес;
- энергетика: сбор информации, управление данными и оборудованием;
- телекоммуникации: коммуникационное оборудование, сетевые коммутаторы, телефонные станции;
Товары широкого потребления:
- мобильные телефоны, например, в телефонах стандарта GSM работает ОСРВ pSOS;
- цифровые телевизионные декодеры;
- цифровое телевидение (мультимедиа, видеосерверы);
- компьютерное и офисное оборудование (принтеры, копиры), например, в факсах применяется ОСРВ VxWorks, в устройствах чтения компакт-дисков - ОСРВ VRTX32. (1)
Функциональные требования к операционным системам реального времени.
Расширение области применения ОСРВ привело к повышению требований к этим системам. В настоящее время обязательным условием, предъявляемым к ОС, претендующей на применение в задачах реального времени, является реализация в ней механизмов многозадачности. Та же тенденция присутствует и в ОС общего назначения. Но для ОСРВ к реализации механизмов многозадачности предъявляется ряд дополнительных, по сравнению с системами общего назначения, требований. Определяются же эти требования тем обязательным свойством ОСРВ, о котором уже говорилось - предсказуемостью.
Многозадачность подразумевает параллельное выполнение нескольких действий, однако практическая реализация параллельной работы упирается в проблему совместного использования ресурсов вычислительной системы. И главным ресурсом, распределение которого между несколькими задачами называется диспетчеризацией, является процессор. Поэтому в однопроцессорной системе по настоящему параллельное выполнение нескольких задач невозможно. Существует достаточно большое количество различных методов диспетчеризации, и основные среди них будут рассмотрены далее.
В многопроцессорных системах проблема разделения ресурсов также является актуальной, поскольку несколько процессоров вынуждены разделять между собой одну общую шину. Поэтому при построении СРВ нуждающейся в одновременном решении нескольких задач применяют группы вычислительных комплексов, объединенных общим управлением. Возможность работы с несколькими процессорами в пределах одного вычислительного комплекса и максимально прозрачное взаимодействие между несколькими вычислительными комплексами в пределах, скажем локальной сети, является важной чертой ОСРВ, значительно расширяющей возможности ее применения.
Под понятием задачи в терминах ОС и программных комплексов могут пониматься две разные вещи: процессы и потоки. Процесс является более крупномасштабным представлением задачи, поскольку обозначает независимый модуль программы или весь исполняемый файл целиком с его адресным пространством, состоянием регистров процессора, счетчиком команд, кодом процедур и функций. Поток же является составной частью процесса и обозначает последовательность исполняемого кода. Каждый процесс содержит как минимум один поток, при этом максимальное количество потоков в пределах одного процесса в большинстве ОС ограниченно только объемом оперативной памяти вычислительного комплекса. Потоки, принадлежащие одному процессу, разделяют его адресное пространство, поэтому они могут легко обмениваться данными, также время переключения между такими потоками (то есть время, за которое процессор переход от выполнения команд одного потока к выполнению команд другого) оказывается значительно меньшим, чем время переключение между процессами. В связи с этим в задачах реального времени параллельно выполняемые задачи стараются максимально компоновать в виде потоков, исполняющихся в пределах одного процесса.
Каждый поток имеет важное свойство, на основании которого ОС принимает решение о том, когда предоставить ему время процессора. Это свойство называется приоритетом потока и выражается целочисленным значением. Количество приоритетов (или уровней приоритетов) определяется функциональными возможностями ОС, при этом самое низкое значение (0) закрепляется за потоком idle ОС, который предназначен для корректной работы системы, когда ей «ничего не надо делать».
Поток может находиться в одном из следующих состояний:
1. Активный поток - это тот поток, который в данный момент выполняется системой.
2. Поток в состоянии готовности - поток, который может выполняться и ждет своей очереди.
3. Блокированный поток - поток, который не может выполняться по некоторым причинам (например, ожидание события или освобождения нужного ресурса).
Далее рассматриваются функциональные требования, предъявляемые на данном этапе к ОС применяющимся в СРВ.
2. Особенности операционных систем реального времени
Существует несколько определений операционных систем реального времени (ОСРВ):
ОСРВ - тип операционной системы, в которой успешность работы любой программы зависит не только от её логической правильности, но и от времени, за которое она получила этот результат.
ОСРВ - это операционная система, реагирующая в предсказуемое время на непредсказуемое появление внешних событий.
Из приведенных определений следует, что ОСРВ призваны решать задачи, в которых важны не только правильность решения, но и сроки, в которые эти решения принимаются. (14)
Система реального времени строится как программный комплекс, в общем виде, она может быть представлена как комбинация трех компонент прикладное программное обеспечение, операционная система реального времени (ОСРВ) и аппаратное обеспечение (таблица 1):
Таблица 1. Компоненты системы реального времени
Прикладное ПО |
Потоки |
Диспетчеризация |
||
Межпотоковое взаимодействие |
||||
ОСРВ |
API |
Обработка прерывания |
||
Защита от инверсии приоритетов |
Управление потоками |
|||
I/O |
Управление памятью |
|||
Аппаратное обеспечение |
CPU |
Кэш |
Устройства |
При разработке СРВ необходим тщательный анализ соответствия характеристик этих трех компонент требованиям внешнего объекта, для управления или мониторинга которым эта СРВ предназначена. Как уже говорилось, проведение такого анализа требует, чтобы временные характеристики всех компонент системы были хорошо прогнозируемыми.
В целом ряде задач автоматизации программные комплексы должны работать как составная часть более крупных автоматических систем без непосредственного участия человека. В таких случаях СРВ называют встраиваемыми.
Встраиваемые системы - программное и аппаратное обеспечение, составляющее компоненты другой, более большей системы и работающее без вмешательства человека.
Существует некое различие между системами реального времени и встроенными системами. От встроенной системы не всегда требуется, чтобы она имела предсказуемое поведение, и в таком случае она не является системой реального времени. Однако даже беглый взгляд на возможные встроенные системы позволяет утверждать, что большинство встроенных систем нуждается в предсказуемом поведении, по крайней мере, для некоторой функциональности, и таким образом, эти системы можно отнести к системам реального времени. (5)
Классическим примером задачи, где требуется ОСРВ, является управление роботом, берущим деталь с ленты конвейера. Деталь движется, и робот имеет лишь маленький промежуток времени, когда он может её взять. Если он опоздает, то деталь уже не будет на нужном участке конвейера, и, следовательно, работа не будет сделана, несмотря на то, что робот находится в правильном месте. Если он подготовится раньше, то деталь ещё не успеет подъехать, и он заблокирует ей путь.
Многие операционные системы, работающие не в реальном времени, также поддерживают схожие службы ядра операционной системы. Ключевое различие между ОСРВ и универсальными это необходимость в детерминированном временном поведении. Детерминированность времени означает, что службы операционной системы затрачивают на каждую задачу только известное и заранее определенное количество времени. В теории это время может быть выражено в математических формулах. Эти формулы должны быть только алгебраическими и не содержать каких-либо случайных временных компонент. Случайные составляющие времени работы службы могут привести к случайным задержкам в прикладном программном обеспечении, и, таким образом, привести к неожиданному выходу приложения за границы реального времени - случай, совершенно недопустимый для встраиваемых систем реального времени.
Универсальные операционные системы зачастую достаточно недетерминированы. Их службы могут добавлять случайные задержки в работу прикладного программного обеспечения и, следовательно, приводить к замедлению начала работы приложения на непрогнозируемую величину. При проектировании обычных операционных систем разработчики не акцентируют свое внимание на математическом аппарате вычисления времени выполнения конкретной задачи и сервиса.
С другой стороны, операционные системы реального времени зачастую идут на шаг впереди базового детерминизма. Для большинства служб ядра эти ОС предлагают постоянное, независимое от загруженности, время, безотносительно к длине отправляемого сообщения или другим факторам, таким как количество задач, очередей и сообщений, контролируемых ОСРВ.
Обобщая вышеизложенный материал, выведем таблицу 2.
Таблица 2. Сравнение ОСРВ с ОС общего назначения.
№ |
ОСРВ |
ОС общего назначения |
|
Основная задача |
Успеть среагировать на события, происходящие на оборудовании |
Оптимально распределить ресурсы компьютера между пользователями и задачами |
|
На что ориентирована |
Обработка внешних событий |
Обработка действий пользователя |
|
Как позиционируется |
Инструмент для создания конкретного аппаратно-программного комплекса реального времени |
Воспринимается пользователем, как набор приложений, готовых к использованию |
|
Для кого предназначена |
Квалифицированный разработчик |
Пользователь средней квалификации |
Общие характеристики СРВ:
- большие и сложные системы;
- распределенные системы;
- жесткое взаимодействие с аппаратурой;
- выполнение задач зависит от времени;
- сложность тестирования.
Основные требования к СРВ:
- возможность параллельного выполнения нескольких задач;
- предсказуемость;
- важно максимальное (не среднее) время отклика на событие;
- особые требования в вопросах безопасности;
- возможность безотказной работы в течение длительного времени.
Также концепция многозадачности является существенной для системы реального времени с одним процессором, приложения которой должны быть способны обрабатывать многочисленные внешние события, происходящие практически одновременно. Концепция процесса, пришедшая из мира UNIX, плохо реализуется в многозадачной системе, поскольку процесс имеет тяжелый контекст. Возникает понятие потока (thread), который понимается как под-процесс, или легковесный процесс (light-weight process). Потоки существуют в одном контексте процесса, поэтому переключение между потоками происходит очень быстро, а вопросы безопасности не принимаются во внимание. Потоки являются легковесными, потому что их регистровый контекст меньше, т.е. их управляющие блоки намного компактнее. Уменьшаются накладные расходы, вызванные сохранением и восстановлением управляющих блоков прерываемых потоков. Объем управляющих блоков зависит от конфигурации памяти. Если потоки выполняются в разных адресных пространствах, система должна поддерживать отображение памяти для каждого набора потоков. (11)
Итак, в системах реального времени процесс распадается на задачи или потоки. В любом случае каждый процесс рассматривается как приложение. Между этими приложениями не должно быть слишком много взаимодействий, и в большинстве случаев они имеют различную природу - жесткого реального времени, мягкого реального времени, не реального времени.
Задержка на переключение контекста потока напрямую зависит от конфигурации памяти, т.е. от модели защиты памяти. Рассмотрим четыре наиболее распространенных в ОСРВ модели защиты памяти. (4)
Модель без защиты - системное и пользовательское адресные пространства не защищены друг от друга, используется два сегмента памяти: для кода и для данных; при этом от системы не требуется никакого управления памятью, не требуется MMU (memory management unit - специальное аппаратное устройство для поддержки управления виртуальной памятью).
Модель защиты система/пользователь - системное адресное пространство защищено от адресного пространства пользователя, системные и пользовательские процессы выполняются в общем виртуальном адресном пространстве, при этом требуется MMU. Защита обеспечивается страничным механизмом защиты. Различаются системные и пользовательские страницы. Пользовательские приложения никак не защищены друг от друга. Процессор находится в режиме супервизора, если текущий сегмент имеет уровень 0, 1 или 2. Если уровень сегмента - 3, то процессор находится в пользовательском режиме. В этой модели необходимы четыре сегмента - два сегмента на уровне 0 (для кода и данных) и два сегмента на уровне 3. Механизм страничной защиты не добавляет накладных расходов, т.к. защита проверяется одновременно с преобразованием адреса, которое выполняет MMU; при этом ОС не нуждается в управлении памятью.
Модель защиты пользователь/пользователь - к модели система/пользователь добавляется защита между пользовательскими процессами; требуется MMU. Как и в предыдущей модели, используется механизм страничной защиты. Все страницы помечаются как привилегированные, за исключением страниц текущего процесса, которые помечаются как пользовательские. Таким образом, выполняющийся поток не может обратиться за пределы своего адресного пространства. ОС отвечает за обновление флага привилегированности для конкретной страницы в таблице страниц при переключении процесса. Как и в предыдущей модели используются четыре сегмента.
Модель защиты виртуальной памяти - каждый процесс выполняется в своей собственной виртуальной памяти, требуется MMU. У каждого процесса имеются свои собственные сегменты и, следовательно, своя таблица описателей. ОС несет ответственность за поддержку таблиц описателей. Адресуемое пространство может превышать размеры физической памяти, если используется страничная организация памяти совместно с подкачкой. Однако в системах реального времени подкачка обычно не применяется из-за ее непредсказуемости. Для решения этой проблемы доступная память разбивается на фиксированное число логических адресных пространств равного размера. Число одновременно выполняющихся процессов в системе становится ограниченным.
3. Системы жёсткого и мягкого реального времени
Принято различать системы мягкого (soft) и жесткого (hard) реального времени.
В жесткой системе:
- опоздания, не допускаются ни при каких обстоятельствах;
- в случае опоздания результаты обработки уже никому не нужны;
- опоздание считается катастрофическим сбоем;
- стоимость опоздания бесконечно велика.
Примером жесткой ОСРВ может служить система управления движением воздушных судов. Очевидно, что бессмысленно посылать команду на изменение курса самолета или космической станции после столкновения.
В мягкой системе реального времени:
- повышается стоимость опоздания;
- допускается низкая производительность в случае опоздания.
Примером мягкой системы является подсистема сетевого интерфейса. Если подтверждение о приеме посланного пакета не поступило после истечения определенного времени, то пакет считается потерянным. В этом случае можно просто повторить посылку пакета и примириться со значительным снижением производительности системы.
Итак, разница между жесткой и мягкой системами зависит от предъявляемых к ним требований. Система называется жесткой, если "система не должна опаздывать никогда", и мягкой, если "система не должна опаздывать, как правило".
СРВ в большинстве случаев решают комбинацию задач жесткого и мягкого реального времени, а также задач, не имеющих критического срока обслуживания. Иногда задача может переходить из статуса мягкого реального времени при пропуске некоторого срока обслуживания в статус задачи жесткого реального времени назначением критического срока обслуживания. (7)
Не следует путать операционную систему реального времени (ОСРВ) с системой реального времени. Первая ОС используется для создания системы реального времени. ОСРВ должна быть предсказуемой - это не значит, что она должна быть быстрой, это означает, что при построении СРВ можно добиться того, чтобы максимальное время, затрачиваемое на определенную работу, укладывалось в заранее установленный лимит, сравнимый с требованиями приложения.
Архитектуры операционных систем реального времени.
За свою историю архитектура операционных систем претерпела значительное развитие. Один из первых принципов построения, т.н. монолитные ОС, заключался в представлении ОС как набора модулей, взаимодействующих между собой различным образом внутри ядра системы и предоставляющих прикладным программам входные интерфейсы для обращений к аппаратуре. Главным недостатком такой архитектуры является плохая предсказуемость ее поведения, вызванная сложным взаимодействием модулей системы между собой. (12)
Однако большинство современных ОС, как реального времени, так и общего назначения, строятся именно по этому принципу.
В задачах автоматизации широкое распространение в качестве ОСРВ получили уровневые ОС. Примером такой ОС является хорошо известная система MS-DOS. В системах этого класса прикладные приложения могли получить доступ к аппаратуре не только посредством ядра системы или ее резидентных сервисов, но и непосредственно. По такому принципу строились ОСРВ в течение многих лет. По сравнению с монолитными ОС такая архитектура обеспечивает значительно большую степень предсказуемости реакций системы, а также позволяет осуществлять быстрый доступ прикладных приложений к аппаратуре. Недостатком таких систем является отсутствие в них многозадачности. В рамках такой архитектуры проблема обработки асинхронных событий сводилась к буферизации сообщений, а затем последовательному опросу буферов и обработке. При этом соблюдение критических сроков обслуживания обеспечивалось высоким быстродействием вычислительного комплекса по сравнению со скоростью протекания внешних процессов.
Одной из наиболее эффективных архитектур для построения операционных систем реального времени считается архитектура клиент-сервер. Основным принципом такой архитектуры является вынесение сервисов ОС в виде серверов на уровень пользователя, а микроядро выполняет функции диспетчера сообщений между клиентскими пользовательскими программами и серверами - системными сервисами. Такая архитектура дает массу плюсов с точки зрения требований к ОСРВ и встраиваемым системам. Среди этих преимуществ можно отметить:
- повышается надежность ОС, т.к. каждый сервис является, по сути, самостоятельным приложением и его легче отладить и отследить ошибки.
- такая система лучше масштабируется, поскольку ненужные сервисы могут быть исключены из системы без ущерба к ее работоспособности.
- повышается отказоустойчивость системы, т.к. «зависший» сервис может быть перезапущен без перезагрузки системы.
В ОСРВ используются различные службы времени. Операционная система отслеживает текущее время, в определенное время запускает задачи и потоки и приостанавливает их на определенные интервалы. В службах времени ОСРВ используются часы реального времени. Обычно используются высокоточные аппаратные часы. Для отсчета временных интервалов на основе часов реального времени создаются таймеры. (15)
Для каждого процесса и потока определяются часы процессорного времени. На базе этих часов создаются таймеры, которые измеряют перерасход времени процессом или потоком, позволяя динамически выявлять программные ошибки или ошибки вычисления максимально возможного времени выполнения.
В высоконадежных, критичных ко времени системах важно выявление ситуаций, при которых задача превышает максимально возможное время своего выполнения, т.к. при этом работа системы может выйти за рамки допустимого времени отклика. Часы времени выполнения позволяют выявить возникновение перерасхода времени и активизировать соответствующие действия по обработке ошибок.
Большинство ОСРВ оперируют относительным временем. Что-то происходит “до” и “после” некоторого другого события. В системе, полностью управляемой событиями, необходим часовой механизм (ticker), т.к. там нет квантования времени (time slicing). Однако, если нужны временные метки для некоторых событий или необходим системный вызов типа “ждать одну секунду”, то нужен тактовый генератор и/или таймер.
Синхронизация в ОСРВ осуществляется с помощью механизма блокирования (или ожидания) до наступления некоторого события. Абсолютное время не используется. (13)
Реализации в ОСРВ других концептуальных абстракций подобны их реализациям в традиционных ОС
4. Сравнительная характеристика операционных систем реального времени
Основные сходства и отличия.
ОС TSX-Plus и ОС SHARE plus занимают одну "экологическую нишу" создают многопользовательскую среду ОС RT-11 на ЭВМ класса PDP-11. Для их работы требуется аппаратный диспетчер памяти и не менее 128 Кбайт ОП. Их работа связана с дополнительными накладными расходами процессорного времени по сравнению с ОС RT-11. Обе ОС запускаются из RT-11, но полностью вытесняют ядро RT-11 из ОП. В процессе работы они используют стандартные драйверы и утилиты ОС RT-11 и поддерживают файловую структуру RT-11.
Обе ОС обеспечивают работу со всеми стандартными периферийными устройствами, поддерживаемыми ОС RT-11, и позволяют подключать дополнительные пользовательские терминалы через стандартные средства связи: последовательные асинхронные интерфейсы и мультиплексоры типа DL(V), DH(V) и DZ(V).
В результате на вычислительном комплексе создается многопроцессорная среда. Все процессы (программы) выполняются независимо друг от друга и разделяют время центрального процессора (ЦП). Каждый пользователь имеет возможность запускать со своего терминала параллельно несколько собственных процессов. Суммарное число активных процессов в системе в данный момент времени определяется, в основном, общим объемом ОП комплекса. Так, при наличии 256 Кбайт памяти обычно работает 1 системный процесс (ядро ОС) и 3 пользовательских процесса (из расчета по 64 Кбайт памяти на каждый процесс). (9)
Принципиальным отличием ОС TSX-Plus от ОС SHARE plus является наличие свопинга пользовательских процессов, то есть динамическое сбрасывание активных процессов из ОП на диск и их подкачка с диска в ОП в процессе работы ЭВМ. Благодаря применению свопинга выполняется большее число процессов, чем их может статически разместиться в памяти. Однако это средство требует значительных накладных расходов, так как время обращения к диску велико по сравнению с временем обращения к ОП. Поэтому наличие свопинга в ОС TSX-Plus является в некоторых случаях преимуществом, а в некоторых и недостатком по сравнению с ОС SHARE plus. Впрочем, свопинг ОС TSX-Plus можно запретить при генерации системы.
Вторым существенным отличием систем является способность ОС SHARE plus работать со смесью стандартных SJ- и ХМ драйверов ОС RT-11Z, в то время как ОС TSX-Plus работает только с ХМ драйверами. Это свойство ОС SHARE plus полезно при создании вычислительного комплекса, в состав которого входят контроллеры внешних устройств, рассчитанные на 16-, 18- и 22-разрядную адресную системную магистраль: SHARE plus работает с такими устройствами через систему буферов. (3)
Третье отличие систем связано с набором команд мониторов и программных системных запросов (ЕМТ). ОС TSX-Plus строго поддерживает набор команд и ЕМТ ОС RT-11, расширяя их только оригинальными средствами администрирования и обмена в многопользовательской среде. ОС SHARE plus расширяет систему команд монитора и набор программных системных запросов в сторону ОС VMS, применяемой на 32-разрядной супер-миниЭВМ семейства VAX. (10)
Заметим, что для обеих ОС разработаны дополнительные утилиты, входящие в дистрибутивный набор. Однако в ОС SHAREplus набор таких утилит значительно шире, а интерактивная утилита HELP предоставляет информацию о командах и ключах ОС в диалоговой форме. В ОС TSX-Plus можно использовать утилиту HELP ОС RT-11, но в ней, естественно, отсутствует информация о специфических для TSX-РIus командах и ключах.
Сравнительный анализ возможностей.
Обе рассматриваемые операционные системы, сохраняя возможности ХМ монитора ОС RT-11, предоставляют пользователю дополнительный набор услуг много процессных ОС. К ним относятся следующие:
- обеспечивается режим разделения времени для многопользовательской работы;
- для каждого пользователя обеспечивается авторизация и защита его файлов от несанкционированного доступа;
- для каждого пользователя задается набор привилегий;
- обеспечивается статистический сбор информации о функционировании системы;
- обеспечивается запуск автономных процессов;
- создаются процессы разного приоритета, нескольких групп приоритетов, пакетный режим работы и развитые средства планирования работы процессов;
- обеспечивается обмен сообщениями между процессами;
Некоторые различия в характеристиках рассматриваемых ОС приведены в табл. 3 .
Таблица 3. Характеристики операционных систем
Характеристики ОС |
SHARE plus |
TSX-Plus |
|
Страна разработки |
ФРГ |
США |
|
Фирма-производитель |
HAMMOND software |
S&H Computer Systems, Inc. |
|
Номер последней версии |
2.0 |
1.0 |
|
Дата выпуска |
Март 1986 г. |
Декабрь 1985 г. |
|
Требуемый объем ОП (oiin/niax) |
96/4096 Кбайт |
128/4096 Кбайт |
|
Максимальное число процессов |
< 70 |
< 40 |
|
Количество приоритетов процессов |
31, 2 группы |
128, 3 группы |
|
Число привилегий |
26 |
24 |
|
Режимы управления терминалами |
13 |
16 |
|
Количество логических дисков |
> 64 |
8 на процесс |
|
Виртуальный диск VM: |
Встроенный |
Драйвер |
|
Спулинг устройств |
6 |
8 |
|
Число команд монитора |
141 |
70 |
|
Число дополнительных утилит |
18 |
5 |
|
Число новых программных запросов |
(ЕМТ) 4Q |
96 |
|
Редактор командной строки SL |
8 команд |
1 3 команд |
|
Количество запоминаемых строк |
> 20 строк |
3 строки |
Важным свойством каждой ОС является удобство генерации системы. По этому показателю ОС TSX-Plus сильно уступает системе SHARE plus.
Генерация SHARE plus более проста и удобна. Настройка ОС на конфигурацию вычислительного комплекса производится просто редактированием стартового командного файла, который выполняется при каждом запуске ОС SHARE plus. По этой причине запуск ОС SHARE plus - достаточно долгая процедура: несколько десятков секунд.
Такой недостаток (который может доставить неудобство лишь наиболее темпераментным системным программистам) с лихвой компенсируется возможностью гибкой настройки и изменения любых параметров системы в процессе ее работы. Любой драйвер может быть выгружен из ОП и снова загружен, любое устройство может быть подключено и отключено от системы, вплоть до смены макроассемблере и содержащего подробные комментарии. Затем исправленный конфигурационный файл ассемблируется, и компонуются k основные утилиты ОС TSX-Plus. Даже при хорошем навыке на перегенерацию ОС TSX-Plus уходит не менее 10мин. Запуск TSX-Plus происходит всего за несколько секунд. (8)
Чрезвычайно полезным новшеством версии 6.01 ОС TSX-Plus является утилита TSXMOD, которая позволяет изменить большинство основных параметров ОС без перегенерации, но перезапустить систему все, же придется. Тем не менее, утилита TSXMOD не позволяет ни добавить новое устройство в систему, ни даже сменить адрес последовательного интерфейса для этого необходима полная перегенерация системы.
Основные сведения, относящиеся к процессу генерации обеих ОС, сведены в табл. 4.
Таблица 4. Основные сведения генерации ОС
Характеристики ОС |
SHARE plus |
TSX-Plus |
|
Размер дистрибутива системы: |
|||
файлов |
64 |
47 |
|
блоков |
2000 |
2 400 |
|
Минимальный рабочий набор без драйверов: |
|||
файлов |
6 |
k |
|
блоков |
450 |
900 |
|
Полная документация на систему, книг/страниц |
4/540 |
3/610 |
|
Документация, описывающая генерацию, стр. |
18 |
46 |
|
Время на генерацию системы, мин. |
1-15 |
10-40 |
|
Средняя продолжительность запуска системы, сек. |
30 |
5 |
Сравнение эффективности услуг, предоставляемых ОС.
Для полноты анализа было проведено сравнение эффективности стандартных сервисных услуг, предоставляемых той и другой ОС. Сравнение проводилось по следующим показателям:
- виртуальные диски (VV: и LD:);
- спулинг медленных периферийных устройств;
- кэширование файлов и каталогов;
- псевдодиск в расширенной памяти (устройство VM:);
- работа с PLAS-областями.
Обе ОС оказались в целом сравнимыми по эффективности этих услуг.
Рекомендации по применению ОС SHARE Plus и TSX Plus.
Проведенные исследования показывают, что ОС SHARE plus является наиболее предпочтительной в таких областях применения, где требуется наиболее быстрая реакция на внешние события. ОС SHARE plus также подходит для ЭВМ с небольшим числом одновременно работающих пользователей, так как требует меньших ресурсов ЭВМ. Важным преимуществом этой ОС является также возможность работать со смесью SJ- и ХМ драйверов, что необходимо для некоторых нестандартных внешних устройств. SHARE plus незаменима на переходном этапе от ОС RT-11 к ОС VMS для супер-миниЭВМ класса VAX, так как позволяет вести плавное обучение пользователей особенностям новой ОС. (6)
Операционная система TSX-Plus наиболее подходит для крупных вычислительных комплексов с большим объемом дополнительной ОП, с развитой терминальной сетью и большим числом одновременно работающих пользователей. Адаптивный алгоритм планировщика процессов позволяет оптимизировать многопользовательский режим работы для конкретного набора решаемых на ЭВМ задач. Эта ОС также обеспечивает, на наш взгляд, лучшую защиту файлов пользователей от несанкционированного доступа. ОС TSX-Plus более строго моделирует среду ОС RT-11.
операционная система реальное время
Заключение
Проанализировав теоретические исследования по данной теме, можно сделать вывод, что существуют различные виды операционных систем. Каждый из типов ОС применяется в той или иной области.
Операционной системой реального времени называется операционная система, реагирующая в предсказуемое время на непредсказуемое появление внешних событий.
Было выяснено, что существует разделения на системы жесткого и мягкого реального времени. Расширение области применения СРВ привело к повышению требований к этим системам. В настоящее время обязательным условием, предъявляемым к ОС, претендующей на применение в задачах реального времени, является реализация в ней механизмов многозадачности. Та же тенденция присутствует и в ОС общего назначения. Но для СРВ к реализации механизмов многозадачности предъявляется ряд дополнительных, по сравнению с системами общего назначения, требований. Определяются же эти требования тем обязательным свойством СРВ, о котором уже говорилось - предсказуемостью.
Важнейшим свойством систем реального времени является предсказуемость временных реакций системы на внешние события. Только исходя из этого свойства можно говорить о состоятельности и обоснованности решений, заложенных в конкретной операционной системе реального времени.
Системы реального времени должны отвечать на внешние параметры ввода и создавать новые результаты вывода за ограниченное время. Время ответа должно быть ограничено. Очень длительное время ответа может привести к отказу систем реального времени.
Не вызывает сомнений, что большинство традиционных операционных систем реального времени разрабатывались с прицелом на единственный центральный процессор, установленный на единственной плате. В наши дни все чаще требуется поддержка многопроцессорных систем.
Очевидно, что операционные системы с монолитной архитектурой, вследствие их направленности на конкретные процессорные платформы и характера взаимодействия с ядром, вряд ли могут быть использованы в качестве относительно универсальных операционных систем реального времени для систем высокой готовности.
Современные операционные системы реального времени базируются на новых архитектурных подходах, дополняются средствами разработки прикладных систем, которые позволяют создавать их в сокращённые сроки с наилучшими характеристиками, кроме того, созданные на основе микроядра обладают рядом преимуществ по сравнению с монолитной архитектурой, а в комбинации с объектно-ориентированным подходом, позволяют системе стать аппаратно-независимой и обеспечивать быструю реакцию на внешние события.
И именно в свете временной предсказуемости ОСРВ должна быть тщательно спроектирована, чтобы поддерживать приложения реального времени.
Таким образом, поставленные задачи были решены.
Список источников и литературы
Книги одного автора
1. Горошко Е.Г. Операционные системы реального времени - Харьков, 2003 Жданов А.А. Операционные системы реального времени - PCWeek, 1999 №8
2. Сорокин С.В. Системы Реального Времени - СТА, 1997 №2
Книги двух и более авторов
3. Бурдонов И.Б., Косачёв А.С., Пономаренко В.Н. Операционные системы реального времени. Препринт: Института системного программирования РАН. Иркутск, 2006.
4. И.Б. Бурдонов, А.С. Косачев, В.Н. Пономаренко Операционные системы реального времени - 2006
5. Олифер В.Г., Олифер Н.А. Сетевые операционные системы: Учебник для вузов. 2-е изд.- СПБ.: Питер, 2008. - 669 с.: ил.
6. С.Ф. Баррет, Д.Дж. Пак. Встраиваемые системы. Проектирование приложений на микроконтроллерах семейства 68HC12/HCS12 с применением языка C. ДМК Пресс M. 2007г.
Интернет ресурсы:
7. А.А. Блискавицкий, С.В. Кабаев. Операционные системы реального времени (обзор) компьютерной автоматизации. URL: http://www.asutp.ru.
8. ОС реального времени URL: http://www.eduhmao.ru/info/1/3664/22961/ Средства и системы компьютерной автоматизации. - http://www.asutp.ru/
9. СВД Встраиваемые системы. - http://www.kpda.ru/Publications/TagAll
10. CIT FORUM - http://citforum.ru/operating_systems/rtos/
11. https://m.habr.com/ru/post/208780
12. https://www.ispras.ru/preprints/docs/prep_14_2006_pdf
13. https://fb-ru.turbopages.org
14. www.ru.wikipedia.org
15. www.intuit.ru
Размещено на Allbest.ru
Подобные документы
Характеристики, основы применения, архитектура жестких и операционных систем реального времени. Последовательное программирование задач реального времени. Структура и языки параллельного программирования, мультипрограммирования и многозадачности.
курсовая работа [195,9 K], добавлен 17.12.2015Рассмотрение основных принципов и методов проектирования систем реального времени. Описание конструктивных и функциональных особенностей объекта управления, построение диаграммы задач. Выбор аппаратной архитектуры, модели процессов-потоков, интерфейса.
курсовая работа [1,2 M], добавлен 19.01.2015Обзор требований проблемной области. Особенности управления задачами. Исполнительные системы реального времени. Программирование на уровне микропроцессоров. Модели и методы предметной области. Реализация прототипа системы реального времени.
курсовая работа [263,1 K], добавлен 15.02.2005Классификация систем реального времени. Ядра и операционные системы реального времени. Задачи, процессы, потоки. Преимущества и недостатки потоков. Свойства, планирование, синхронизация задач. Связанные задачи. Синхронизация с внешними событиями.
реферат [391,5 K], добавлен 28.12.2007Основные характеристики систем реального времени, типы архитектур. Система приоритетов процессов (задач) и алгоритмы диспетчеризации. Понятие отказоустойчивости, причины сбоев. Отказоустойчивость в существующих системах реального времени (QNX Neutrino).
контрольная работа [428,8 K], добавлен 09.03.2013Операционные системы пакетной обработки, разделения времени, реального времени. Особенности алгоритмов управления ресурсами. Поддержка многопользовательского режима. Вытесняющая и невытесняющая многозадачность. Операционные системы и глобальные сети.
реферат [55,0 K], добавлен 11.12.2011Определение необходимости применения средств промышленной автоматизации, контроллеров, промышленных сетей и компьютеров, операционных систем реального времени для повышения производительности предприятия. Концепция построения "интеллектуальных" зданий.
контрольная работа [689,6 K], добавлен 13.10.2010Современные SCADA-системы и их безопасность. Диспетчерское управление и сбор данных. Основные компоненты SCADA-систем. Система логического управления. База данных реального времени. Автоматическая конвертация проектов для разных операционных систем.
реферат [253,7 K], добавлен 25.11.2014Планирование задач в операционной системе реального времени. Основные виды планирования применительно к задачам реального времени. Выбор приемлемого алгоритма планирования при проектировании RTS. Статическое прогнозирование с использованием таблиц.
контрольная работа [40,7 K], добавлен 28.05.2014История развития операционных систем семейства Windows и основные понятия системного администрирования. Определение востребованности операционных систем Windows, сравнительная характеристика их функции и возможностей, особенности применения на практике.
курсовая работа [38,5 K], добавлен 08.05.2011