Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | ||
|
В ОС сформировались классификации: по назначению, по режиму обработки задач, по способу взаимодействия с системой, по способам построения (архитектурным особенностям систем). Различают ОС общего и специального назначения. ОС специального назначения подразделяются на следующие: для переносимых микрокомпьютеров и различных встроенных систем, организации и ведения баз данных, решения задач реального времени и т. п. По режиму обработки задач различают ОС, обеспечивающие однопрограммный и мультипрограммный режимы. Под мультипрограммированием понимается способ организации вычислений, когда на однопроцессорной вычислительной системе создается видимость одновременного выполнения нескольких программ.. В качестве одного из примеров мультитерминальных ОС для ПК можно назвать Linux. Основной особенностью операционных систем реального времени (ОСРВ) является обеспечение обработки поступающих заданий в течение заданных интервалов времени, которые нельзя превышать. Поток заданий в общем случае не является планомерным и не может регулироваться оператором (характер следования событий можно предсказать лишь в редких случаях), то есть задания поступают в непредсказуемые моменты времени и без всякой очерёдности. Одной из наиболее известных ОСРВ для ПК является ОС QNX. По основному архитектурному принципу ОС разделяются на микроядерные и монолитные. В некоторой степени это разделение тоже условно, однако можно в качестве яркого примера микроядерной ОС привести ОСРВ QNX, тогда как в качестве монолитной можно назвать Windows 95/98 или ОС Linux. Ядро ОС Windows мы не можем изменить, нам не доступны его исходные коды и у нас нет программы для сборки (компиляции) этого ядра. А вот в случае с Linux мы можем сами собрать ядро, которое нам необходимо, включив в него те необходимые программные модули и драйверы, которые мы считаем целесообразным включить именно в ядро (а не обращаться к ним из ядра).
3 Определение прерывания, типы прерываний. Какие шаги выполняет система прерываний при возникновении запроса на прерывание?
Прерывание (англ. interrupt) - сигнал, сообщающий процессору о наступлении какого-либо события. При этом выполнение текущей последовательности команд приостанавливается и управление передаётся обработчику прерывания, который реагирует на событие и обслуживает его, после чего возвращает управление в прерванный код.
Вектор прерывания - закреплённый за устройством номер, который идентифицирует соответствующий обработчик прерываний. Векторы прерываний объединяются в таблицу векторов прерываний, содержащую адреса обработчиков прерываний. Местоположение таблицы зависит от типа и режима работы процессора.
В зависимости от источника возникновения сигнала прерывания делятся на:
· асинхронные или внешние (аппаратные) - события, которые исходят от внешних источников (например, периферийных устройств) и могут произойти в любой произвольный момент: сигнал от таймера, сетевой карты или дискового накопителя, нажатие клавиш клавиатуры, движение мыши. Факт возникновения в системе такого прерывания трактуется как запрос на прерывание (англ. Interrupt request, IRQ);
· синхронные или внутренние - события в самом процессоре как результат нарушения каких-то условий при исполнении машинного кода: деление на ноль или переполнение, обращение к недопустимым адресам или недопустимый код операции;
· программные (частный случай внутреннего прерывания) - инициируются исполнением специальной инструкции в коде программы. Программные прерывания как правило используются для обращения к функциям встроенного программного обеспечения (firmware), драйверов и операционной системы.
В зависимости от возможности запрета внешние прерывания делятся на:
· маскируемые - прерывания, которые можно запрещать установкой соответствующих битов в регистре маскирования прерываний (в x86-процессорах - сбросом флага IF в регистре флагов);
· немаскируемые (англ. Non-maskable interrupt, NMI) - обрабатываются всегда, независимо от запретов на другие прерывания. К примеру, такое прерывание может быть вызвано сбоем в микросхеме памяти.
Обработчики прерываний обычно пишутся таким образом, чтобы время их обработки было как можно меньшим, поскольку во время их работы могут не обрабатываться другие прерывания, а если их будет много (особенно от одного источника), то они могут теряться.
До окончания обработки прерывания обычно устанавливается запрет на обработку этого типа прерывания, чтобы процессор не входил в цикл обработки одного прерывания. Приоритизация означает, что все источники прерываний делятся на классы и каждому классу назначается свой уровень приоритета запроса на прерывание. Приоритеты могут обслуживаться как относительные и абсолютные.
· Относительное обслуживание прерываний означает, что если во время обработки прерывания поступает более приоритетное прерывание, то это прерывание будет обработано только после завершения текущей процедуры обработки прерывания.
· Абсолютное обслуживание прерываний означает, что если во время обработки прерывания поступает более приоритетное прерывание, то текущая процедура обработки прерывания вытесняется, и процессор начинает выполнять обработку вновь поступившего более приоритетного прерывания. После завершения этой процедуры процессор возвращается к выполнению вытесненной процедуры обработки прерывания.
Шаги выполняемые системой:
1) Установление факта прерывания (прием сигнала на прерывание) и идентфикация прерывания.
2) Запоминание состояния прерванного процесса.
3) Управление аппаратно передаётся подпрограмме обработки прерывания.
4) Сохранение информации о прерванной программе, которую не удалось спасти на шаге 2 с помощью действий аппаратуры.
5) Обработка прерывания.
6) Восстановление информации, относящейся к прерванному процессу (этап,обратный шагу 4.
7) Возврат в прерванную программу.
Шаги 1-3 реализуются аппаратно, а шаги 4-7 – программно.
Дата публикования: 2015-02-03; Прочитано: 564 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!