Справочник от Автор24
Поделись лекцией за скидку на Автор24

Системы реального времени. Операционные системы

  • 👀 518 просмотров
  • 📌 455 загрузок
Выбери формат для чтения
Загружаем конспект в формате doc
Это займет всего пару минут! А пока ты можешь прочитать работу в формате Word 👇
Конспект лекции по дисциплине «Системы реального времени. Операционные системы» doc
Лекция 2. СИСТЕМЫ РЕАЛЬНОГО ВРЕМЕНИ. ОПЕРАЦИОННЫЕ СИСТЕМЫ. СИСТЕМЫ РЕАЛЬНОГО ВРЕМЕНИ Система реального времени — система для которой правильность ее функционирования зависит не только от логической корректности вычислений, но и от времени в течении которого эти вычисления выполняются. Временные характеристики системы можно определить при помощи теоремы Котельникова. Определение теоремы Котельникова: В 1933 году В.А. Котельниковым доказана теорема отсчетов, имеющая важное значение в теории связи: непрерывный сигнал  с ограниченным спектром можно точно восстановить (интерполировать) по его отсчетам , взятым через интервалы , где  – верхняя частота спектра сигнала. Рисунок 5 – Сигнал и его отсчеты Если система в интервал време­ни Δt производит необходимый набор операций, то информация передается без потерь, а значит, система работает в реальном времени. В необходимый набор операций можно отнести: изме­рение, обработка, визуализация, за­пись в архив, расчет управляющих воздействий, выдача управляющих воздействий на объект. СРВ можно классифицировать как: СЖРВ — система, которая должна выполнять все действия за интервал времени Δt - время квантования процесса. Если система не укладывается в ин­тервал времени Δt, то для таких систем такая ситуация считается отказом. Здесь справедлива формула: где - время исполнения функциональных задач. СМРВ - допускается превышение интервала Δt при выполнении функциональных задач, но в среднем в длительном интервале времени. Задержка реакции не является отказом, однако может привести к поте­ри качества, например к снижению производительности системы. Для таких систем справедливо соотношение: Где - среднее время выполнения функциональных задач. Так как АСУ должна работать в режиме реального времени, что дикту­ется самим технологическим процессом, то и программное обеспечение должно работать в РВ. Основная задача, решаемая при этом - детерминированность. Как правило, прикладное программное обеспечение работает под определенной оболочкой, которую назы­вают операционной системой (ОС). ОПЕРАЦИОННЫЕ СИСТЕМЫ. КЛАССИФИКАЦИЯ Операционные системы относятся к системному программному обеспечению. Всё программное обеспечение разделяется на системное и при­кладное. К программному - относятся программы и комплексы, для выполнения конкретных задач. К системному ПО принято относить такие программы и комплексы программ, которые являются общими, без которых невозможно выполнение или создание других программ. А к прикладному - программы и комплексы для выполнения конкретных задач. Операционная система (ОС) представляет собой комплекс системных управляющих (системными принято называть такие программы, которые используются всеми остальны­ми программами) и обрабатывающих программ, которые, с одной стороны, выступают как интерфейс между аппаратурой компьютера и пользователем с его задачами, а с другой стороны - предназначены для наиболее эффектив­ного расходования ресурсов вычислительной системы и организации надеж­ных вычислений. Операционная система изолирует аппаратное обеспечение компьютера от прикладных программ пользователей. И пользователь, и его программы взаимодействуют с компьютером через интерфейсы операционной системы (см.рис.). К ОСНОВНЫМ ФУНКЦИЯМ ОПЕРАЦИОННЫХ СИСТЕМ ОТНОСЯТСЯ: 1. Прием от пользователя (или от оператора системы) заданий, или команд, сформулированных на соответствующем языке, и их обра­ботка. 2. Загрузка в оперативную память подлежащих исполнению программ. 3. Распределение памяти, а в большинстве современных систем и организация виртуальной памяти. 4. Запуск программы (передача ей управления, в результате чего процессор исполняет программу). 5. Идентификация всех программ и данных. 6. Прием и исполнение различных запросов от выполняющихся приложений. Сервис - системная функция, которая может быть запрошена из выполняющейся программы. Обращение к этим сервисам осуществляется по соответ­ствующим правилам, которые и определяют интерфейс прикладного программирования (Application Program Interface, API) этой операционной системы. Виды сервисов: 1. Обслуживание всех операций ввода-вывода. 2. Обеспечение работы систем управлений файлами (СУФ) и/или систем управления базами данных (СУБД), что позволяет резко увеличить эффектив­ность всего программного обеспечения. 3. Обеспечение режима мультипрограммирования, то есть организация па­раллельного выполнения двух или более программ на одном процессоре, создающая видимость их. 4. Планирование и диспетчеризация задач в соответствии с заданными стра­тегией и дисциплинами обслуживания. 5. Организация механизмов обмена сообщениями и данными между выполняющимися программами. 6. Для сетевых операционных систем характерной является функция обес­печения взаимодействия связанных между собой компьютеров. 7. Защита одной программы от влияния другой, обеспечение сохранности данных, защита самой операционной системы от исполняющихся на компьютере приложений. 8. Удовлетворение жестким ограничениям на время ответа в режиме ре­ального времени (характерно для ОСРВ). 9. Обеспечение работы систем программирования, с помощью которых пользователи готовят свои программы. 10. Предоставление услуг на случай частичного сбоя системы. КЛАССИФИКАЦИЯ ОПЕРАЦИОННЫХ СИСТЕМ По назначению различают ОС общего и специального назначения. ОС специального назначения, в свою очередь, подразделяются на ОС для носимых микрокомпьютеров и различных встроенных систем, организации и ведения баз данных, решения задач реального времени и т. п. По режиму обработки задач различают ОС, обеспечивающий однопрограммный, мультипрограммный, мультизадачный режимы. К однопрограммным ОС относится MS DOS, Norton Commander. Термины «мультипрограммный режим» и «мультизадачный режим» это не синонимы. Основное принципиальное отличие этих терминов заклю­чается в том, что мультипрограммный режим обеспечивает параллельное выполнение нескольких приложений, и при этом программисты, создающие эти программы, не должны заботиться о механизмах организации их парал­лельной работы (эти функции берет на себя сама ОС; именно она распреде­ляет между выполняющимися приложениями ресурсы вычислительной сис­темы, осуществляет необходимую синхронизацию вычислений и взаимодей­ствие). Мультизадачный режим, наоборот, предполагает, что забота о парал­лельном выполнении и взаимодействии приложений ложится как раз на при­кладных программистов. Однако современные ОС для персональных компь­ютеров реализуют и мультипрограммный, и мультизадачный режимы. По способу взаимодействия с компьютером можно говорить о диало­говых системах и системах пакетной обработки. При организации работы с вычислительной системой в диалоговом режиме можно говорить об одно­пользовательских (однотерминальных) и мультитерминальных ОС. В мультитерминальных ОС с одной вычислительной системой одновременно могут, работать несколько пользователей, каждый со своего терминала, при этом у пользователей возникает иллюзия, что у каждого из них имеется собственная вычислительная система. Очевидно, что для организации мультитерминального доступа к вычислительной системе необходимо обеспечить мультипро­граммный режим работы. По основному архитектурному принципу операционные системы разделяются на микроядерные и макроядерные. Функции микроядра ОС заключаются в следующем: 1. Управление памятью и процессами. 2. Обработка прерываний. 3. Обработка системных вызовов. 4. Обработка сообщений. Архитектура монолитной ОС. Достоинство: легкость в отладке, более простой и более быстрый межзадачный обмен ОСНОВНЫЕ ОСОБЕННОСТИ, ОТЛИЧАЮЩИЕ ОСРВ ОТ ОС ОБЩЕГО НАЗНАЧЕНИЯ. Время реакции системы - интервал, охватывающий время от наступления события на управляемом объекте до выполнения необходимых ответных действий. Величина этого интервала зависит от ряда причин. Наиболее важными параметрами, характеризующими реактивность ОС, является время задержки прерывания и время переключения контекста. Время задержки прерывания - интервал времени от момента посыл­ки запроса на прерывания до выполнения первой команды программы обработки прерывания. Обычно это время оценивается для худшего случая (при наличии других прерываний, занятости процессора и т.д.) и зависит от эффективности ОС и архитектуры процессора, связанной с обработкой прерываний. Время переключения контекста tnк - среднее время, которое система затрачивает на переключение между независимыми задачами: где ti — время переключения i — ой задачи; п - число одновременно выполняемых задач. Время tnк зависит от эффективности структуры данных управления задачей, архитектуры процессора и набора инструкций. МЕХАНИЗМ РЕАЛЬНОГО ВРЕМЕНИ. РАСПРЕДЕЛЕНИЕ РЕСУРСОВ. Планирование задач (процессов) связано с выбором системы приоритетов и алгоритмов диспетчеризации. К механизмам межзадачного взаимодействия относятся семафоры, разделяемая память, сообщения и др., позволяющие синхронизировать процессы и обеспечивать быстрый обмен информацией между ними. Важной архитектурной особенностью является возможность переключения во время выполнения не только пользовательской, но системной фазы ядра, что обеспечивает возможность обработки критических прерываний. Архитектура микроядра. OCPB с микроядерной архитектурой обладают меньшим временем реакции на события. Модульный принцип. Масштабируемость. Функциональные компоненты ОС - ядро, система управления файлами и др. - реализованы в виде независимых модулей. Такие системы являются масштабируемыми и расширяемыми системами. Аппаратная поддержка. ОСРВ работают на различных аппаратных платформах. Важным свойством является возможность размещения ОСРВ и приложений в ПЗУ, что позволяет создавать компактные (в том числе встро­енные в технологическое оборудование) системы без внешних накопителей. Работа в вычислительных сетях. ОСРВ поддерживают работу во всех основных типах локальных сетей, имеют прозрачный доступ к ресурсам любого узла сети; отвечают требованиям надежности и отказоустойчивости; содержат программные средства защиты информации от несанкционированного доступа. Соответствие стандартам. Современная концепция СРВ связана с ар­хитектурой открытых систем, основанных на использовании стандартизо­ванных аппаратных и программных средств. РАЗНОВИДНОСТИ ЗАДАЧ, ВЫПОЛНЯЕМЫХ В ОС Задачи могут быть созданы как процесс или как поток (потоки) внутри процесса. Процесс — отдельный исполнительный программный модуль (.ЕХЕ или .СОМ файлы). Когда говорят о процессах, отмечают, что ОС поддерживает их обособленность (у каждого свое виртуальное пространство, свои ресурсы, свои файлы и т.д.), которая нужна для защиты одного процесса от другого. ОС считает процессы совершенно несвязанными и независимыми, при этом именно ОС решает споры конкурирующих процессов за ресурсы и обеспечивает защиту выполняющихся вычислений Потоки - задачи, объединенные в одном процессе (программа Word (пример многопоточной задачи) - проверка орфографии, ввод символов и т.д.). Некоторые операции, выполняемые приложением, могут требовать для своего исполнения достаточно длительное использование центрального процессора. Программные модули, исполняющие такие длительные операции, желательно оформлять в виде самостоятельных «подпроцессов» (легковесных процессов, потоков выполнения, или задач), которые могут выполняться параллельно с другими подпроцессами (потоками, задачами), то у пользователя появляется возможность параллельно выполнять несколько операций в рамках одного при­ложения (процесса). Легковесными эти процессы называют потому, что операционная система не должна для них организовывать полноценную виртуальную машину, то есть эти задачи не имеют своих собственных ресурсов, а развиваются в том же вирту­альном адресном пространстве, могут пользоваться теми же файлами, виртуаль­ными устройствами и иными ресурсами, выделенными ОС данному процессу. Единственное, что они имеют свое — это процессорный ресурс. СВОЙСТВА ЗАДАЧ Приоритет - целое число, которое присваивается задаче, характеризует ее важность по отношению к другим задачам. Контекст задачи - набор данных (текущий адрес прерванной задачи, регистры процессора, указатель стека - служебная область, используемая для вызова подпрограммы, текущий адрес ячейки), которые содержат всю необходимую информацию для возобновления выполнения задачи с того места на котором она была прервана. Состояние задачи: а) активное состояние (выполняется в текущий момент времени), б) готовая к исполнению (была блокирована в ожидании собы­тия - нажатие символа на клавиатуре и т.д.), в) блокированная задача, (ресурсы необходимые для выполнения задачи заняты). Реентерабельность — допущение повторного запуска. Реентерабельные программные модули допускают повторное многократное прерывание своего, исполнения и повторный их запуск по обращению из других задач (вычислительных процессов). УПРАВЛЕНИЕ ЗАДАЧАМИ Самым важным ресурсом является сам процессор, а точнее - процессорное время. Процессорное время делится попеременно (параллельно). Один из основных модулей супервизора ОС - диспетчер задач - переводит процессы в одно из состояний в зависимости от того, доступен тот или иной ресурс или не доступен. ОС выполняет следующие основные функции, связанные с управлением процессами и задачами: - создание и удаление задач; - планирование процессов и диспетчеризация задач; - синхронизация задач, обеспечение их средствами коммуникации. Создание задачи сопряжено с формированием соответствующей информационной структуры, а ее удаление - с расформированием. Создание и удаление задач осуществляется по соответствующим запросам от пользователей или от самих задач. Диспетчер задач решает, какой задаче следует предоставить процессорное время. Вопросы подбора вычислительных процессов, которые можно и целесообразно решать параллельно - возлагаются на планировщик процессов. Задача подбора такого множества процессов, которые при своем выполнении будут как можно реже конфликтовать за имеющиеся в системе ресурсы, решается при помощи планирования вычислительных процессов. Задачи динамического планирования стали называть диспетчеризацией. Основное различие между долгосрочным и краткосрочным планировщиками заключается в частоте их запуска. Долгосрочный планировщик решает, какой из процессов, находящихся во входной очереди, в случае освобождения ресурсов памяти должен быть переведен в очередь процессов, готовых к выполнению. Краткосрочный планировщик решает, какая из задач, находящихся в очереди готовых к выполнению, должна быть передана на исполнение. Существует большое количество дисциплин диспетчеризации, то есть, правил формирования очереди готовых к выполнению задач, в соответствии с которыми формируется эта очередь (список). 1. Циклическая дисциплина диспетчеризации. Недостаток: если одна из задач повиснет, или очень долго будет исполняться, то все остальные задачи остановятся. Достоинство: простой алгоритм. Такой программный комплекс легко настраивается. По подобной схеме работает 90% промышленных контроллеров. 2. Разделение времени. Процессорное время выделяется квантами - фиксированными интервалами. После окончания кванта времени задача снимается с процессора, и он передается следующей задаче. Снятая задача ставится в конец очереди задач, готовых к выполнению. Если величина кванта времени велика, то при увеличении очереди готовых к выполнению задач реакция системы станет медленной. Недостаток: если возможности процессора ограничены по сравнению с требуемыми, то процессор будет выполнять задачи с наибольшим приоритетом, низкоприоритетные задачи при этом могут быть не выполнены. 3. Разделение времени с равнодоступностью. Приоритет является плавающим. Те за­дачи, которые занимают много процессорного времени у них приоритет по­нижается, и наоборот. 4. Приоритетная многозадачность с вытеснением. Планировщик задачи не дожидается пока программа использует свой квант времени, а отдаёт время появившейся более приоритетной задачи. МЕТОДЫ СИНХРОНИЗАЦИИ ЗАДАЧ Мультипрограммные и мультизадачные ОС позволяют организовать не только независимые, но и взаимодействующие вычисления. Проблема синхронизации взаимодействия параллельных вычислительных процессов, обмена данными между ними является одной из самых важных. ОС имеют в своем составе различные средства синхронизации Существуют следующие виды синхронизации: - синхронизация по данным; - синхронизация по использованию ресурсов; - синхронизация с внешними событиями; - синхронизация по времени. СИНХРОНИЗАЦИЯ ПО ДАННЫМ. Данные могут готовиться одной программой, а использоваться другой, поэтому необходим механизм по передаче сообщений. Можно выделить синхронное и асинхронное сообщения. Синхронное сообщение — программа пересылает данные и приостанавливает свою работу до получения ответа от другой про­граммы. Асинхронное сообщение — программа, выполнив передачу, продолжает работу, не дожидаясь ответа. Механизмы передачи данных: 1. Почтовые ящики. 2. Очередь сообщений. Почтовые ящики - область оперативной памяти, в которой программа может помещать какие-либо данные и считывать их. Новое сообщение стирает старое. Поэтому если программа не успела считать данные, то информация будет потеряна. Очередь сообщений. Каждая программа имеет буфер памяти, размер которой меняется от количества сообщений. Здесь сообщения не теряются, а очередь сообщений ограничена оперативной памятью. СИНХРОНИЗАЦИЯ ПО ИСПОЛЬЗОВАНИЮ РЕСУРСОВ. Ресурс — физическое устройство (печатающее или дисковое) или область оперативной памяти. Цель: при наличии двух программ, которые выполняют расчет, выводят результат на печатающее устройство, а также отсутствии при этом синхронизации, на принтере имела место смесь символов от одной и другой программ. Подходы к синхронизации: 1. Использование специальной программы (сервера ресурса), которая принимает запросы, упорядочивает запросы, обрабатывает эти запросы, т.е. управляет запросами. Для печатающего устройства — система спулинга — управление очередью печати. Спулинг разделяет запросы на печать. 2. Использование семафоров. Семафор - специальная переменная, которая принимает значения 0 и 1. Используются также «счетные семафоры». Если семафор принимает значения 0 - ресурс занят или 1 - ресурс свободен. Перед тем как обратится к устройству, программа определяет переменную, при наличии 1 программа уменьшает значение семафора. Следует отметить, что существуют семафоры, значение которых может иметь отрицательное целое число. Это число показывает количество задач, требующих данный ресурс. В качестве примера борьбы за ресурс рассмотрим два случая, которые могут иметь место быть: 1. «Смертельный» захват. Для выполнения программ 1 и 2 необходимо иметь устройство ввода информации и устройство вывода. При этом Пр. 1 захватила клавиатуру, Пр. 2 - монитор понизив при этом значение семафора и клавиатуры и монитора до нуля. В итоге и Пр.1 и Пр. 2 не могут закончить свою работу, т.к. для их выполнения необходимы нужен и монитор и клавиатура. Итогом является зависание обеих программ в ожидании монитора или клавиатуры. Выход: При этом используется процедура отката, которая заключается в том, что программа освобождает все захваченные ресурсы и после пытается их захватить. 2. Инверсия приоритетов. Программа 1 активна, т.к. 2 и 3 не были готовы для работы. Ресурс, не успевая произвести запись на диск, прерывается программой 3. Низкоприоритетная задача не может освободить ресурс, т.к. была прервана, а программа 3 не может записаться, т.к. ресурс занят. Таким образом, программа 3 также не может работать. Программа 2 в этом случае работает все свободное время. В итоге программа 2 с более низким приоритетом работает, а программа 3 не работает вообще. СИНХРОНИЗАЦИЯ С ВНЕШНИМИ СОБЫТИЯМИ События должны быть обнаружены, и программы в соответствие с событиями должны производить те или иные действия. Технологические процессы Рисунок 6 – Структура ЭВМ Способы считывания информации о внешнем процессе: - циклический опрос; - обмен по прерываниям; - прямой доступ к памяти. Циклический опрос Достоинство: способ прост. Недостатки: если существует большое количество датчиков и исполнительных механизмов, то очень сложно организовать чтение со всех регистров. Если регистры пусты, то процессорное время будет потрачено впустую. Обмен по прерываниям Внешнее устройство выдает на системную магистраль сигнал запроса «на прерывание». Это сигнал воспринимается процессором. Процессор прекращает выполнение текущей задачи и переходит к подпрограмме обработки 2 по прерываниям». Далее процессор переходит к обработке прерванной программы. За каждым прерыванием закреплен вектор прерывания — ячейка памяти, которая содержит адрес программы обработки. Прямой доступ к памяти. УСО может записывать в ОЗУ без участия процессора. СИНХРОНИЗАЦИЯ ПО ВРЕМЕНИ Необходимо при выполнении действий, привязывать их к астрономическому времени. Такая необходимость возникает не так часто, как необходимость отслеживать интервалы времени. Для работы со временем микропроцессор содержит в себе программируемый таймер, который через заданный интервал времени может генерировать сигнал прерывания. Сигнал таймера называется - тиком. Тик обычно равен lμс, но можно изменять длительность тика. Лекция 3. КЛАССЫ СИСТЕМ РЕАЛЬНОГО ВРЕМЕНИ Рисунок 7 – Классификация ОСРВ Количество операционных систем реального времени, несмотря на их специфику, очень велико. Сама специфика применения операционных систем реального времени требует гарантий надежности, причем гарантий, в том числе и юридических. Среди коммерческих систем реального времени можно выделить группу ведущих систем - по объемам продаж и по популярности. Эти системы: VxWorks, OS9, pSOS, LynxOS, QNX, VRTX. Классификация ОСРВ представлена на рис. 7. ИСПОЛНИТЕЛЬНЫЕ СИСТЕМЫ РЕАЛЬНОГО ВРЕМЕНИ Признаком этих систем служат различные платформы для систем разработки и исполнения. Приложение реального времени разрабатывается на host- компьютере (компьютере системы разработки), затем компонуется с ядром и загружается в целевую систему для исполнения. Как правило, при­ложение реального времени - это одна задача и параллелизм здесь достигает­ся с помощью нитей (threads). Системы этого типа обладают рядом достоинств, среди которых главное - скорость и реактивность системы. С этим главным достоинством связан и ряд недостатков: зависание всей системы при зависании нити, проблемы с динамической подгрузкой новых приложений. Наиболее ярким представителем систем этого класса является операционная система VxWorks. Область применения - компактные системы реального времени с хорошими временами реакций. ЯДРА РЕАЛЬНОГО ВРЕМЕНИ В этот класс входят системы с монолитным ядром, где и содержится реализация всех механизмов реального времени этих операционных систем. Системы этого класса, как правило, модульные, хорошо структурированы, имеют наиболее развитый набор специфических механизмов реального времени, компактны и предсказуемы. Наиболее популярные системы этого класса: OS9, QNX.S* Одна из особенностей систем этого класса - высокая степень масштабируемости. На базе этих ОС можно построить как компактные системы ре­ального времени, так и большие системы серверного класса. Как правило, ядра реального времени имеют два типа систем разработки - кроссовую и резидентную. UNIX'ы РЕАЛЬНОГО ВРЕМЕНИ Часть разработчиков операционных систем реального времени попыталась просто переписать ядро UNIX, сохранив при этом интерфейс пользовательских процессов с системой. В результате получили и реальное время и сразу весь набор пользовательских приложений - компиляторы, пакеты, различные инструментальные системы. Однако Unix'ы реального времени не избавлены от следующих недос­татков: системы реального времени получаются достаточно большими и реактивность их ниже, чем реактивность систем первых двух классов. Наиболее популярным представителем систем этого класса является операционная система реального времени Lynx OS. РАСШИРЕНИЯ РЕАЛЬНОГО ВРЕМЕНИ ДЛЯ WINDOWSNT В последние два года сразу несколько фирм объявили о создании расширений реального времени для Windows NT. Этот означает, что подобные продукты были востребованы, что и подтверждает динамика их рыночного развития. В самом деле, появление в свое время UNIX'ов реального времени означало ни что иное, как попытку применить господствующую программ­ную технологию для создания приложений реального времени. Появление расширений реального времени для Windows NT имеет те же корни, ту же мотивацию, что и UNIX-ы реального времени. Конечно, соблазнительно получить в системе реального времени все эти возможности. Так как эти продукты - новые и вызывают много вопросов.
«Системы реального времени. Операционные системы» 👇
Готовые курсовые работы и рефераты
Купить от 250 ₽
Решение задач от ИИ за 2 минуты
Решить задачу
Помощь с рефератом от нейросети
Написать ИИ

Тебе могут подойти лекции

Смотреть все 21 лекция
Все самое важное и интересное в Telegram

Все сервисы Справочника в твоем телефоне! Просто напиши Боту, что ты ищешь и он быстро найдет нужную статью, лекцию или пособие для тебя!

Перейти в Telegram Bot