- •Колледж связи
- •1.Ос как виртуальная машина
- •2. Ос как система управления ресурсами
- •4. Структура операционных систем
- •1. Монолитная система
- •2. Многоуровневая структура ос
- •3 Модель экзоядра
- •4 Микроядерная архитектура (модель клиент-сервер)
- •5 Обобщение сравнения моделей
- •Тема 1.2.Интерфейс пользователя
- •Тема 1.3.Операционное окружение
- •Раздел 2. Машинно-зависимые свойства операционных систем
- •Тема 2.1. Архитектурные особенности модели микропроцессорной системы
- •Тема 2.2.Обработка прерываний
- •Тема 2.3.Планирование процессов
- •Тема 2.4.Обслуживание ввода-вывода
- •Тема 2.5.Управление реальной памятью
- •Тема 2.6.Управление виртуальной памятью
- •Раздел 3. Машинно-независимые свойства операционных систем
- •Тема 3.1.Работа с файлами
- •Тема 3.2.Планирование заданий
- •Тема 3.3.Распределение ресурсов
- •Тема 3.4.Защищенность и отказоустойчивость операционных систем
- •Раздел 4. Работа в операционных системах и средах
- •Тема 4.1.Структура операционной системы
- •Тема 4.2.Установка. Режимы остановки Windows
- •Тема 4.3.Интерфейс пользователя ос Windows
- •Тема 4.4.Организация хранения данных
- •Тема 4.5.Средства управления и обслуживания
- •Тема 4.6. Возможности операционной системы
- •Раздел 5. Обзор сетевых операционных систем
- •Тема 5.1.Ос одноранговых сетей
- •Тема 5.2. Сетевые ос. Клиент-сервер
- •Тема 5.3.Достоинство, недостатки и защита данных в сетевых ос
Тема 2.2.Обработка прерываний
Электр.пособие- Основы информатики и программирования под Windows. К.А.Молоков,2007г.
(Роль прерываний ЭВМ при запуске системы. Порядок выполнения любого прерывания-стр.70)
Понятие прерывания.Последовательность действий при обработке прерываний. Классы прерываний. Рабочая область прерываний. Вектор прерывания. Стандартные программы обработки прерываний. Приоритеты прерываний. Вложенные прерывания
Прерывания подразделяются на аппаратные (маскируемые и немаскируемые), вызываемые электрическими сигналами на входах процессора, и программные, выполняемые по команде INT xx. Программные прерывания, строго говоря, прерываниями не являются — это лишь своеобразный способ вызова процедур, но процессором они обрабатываются как разновидность прерываний.
Прерывания и исключения нарушают нормальный ход выполнения программы для обработки внешних событий или сообщения о возникновении особых условий или ошибок.
Аппаратные прерывания подразделяются на маскируемые и немаскируемые. Процессор может воспринимать прерывания после выполнения каждой команды, длинные строковые команды имеют для восприятия прерываний специальные окна. Аппаратные прерывания вызываются электрическими сигналами на входах INTR и NMI.
Маскируемые прерывания вызываются переходом в высокий уровень сигнала на входе INTR (Interrupt Request) при установленном флаге разрешения (IF=1). В этом случае процессор сохраняет в стеке регистр флагов, сбрасывает флаг IF и вырабатывает два следующих друг за другом (back to back) цикла подтверждения прерывания, в которых генерируются управляющие сигналы INTA# (Interrupt Acknowledge). Высокий уровень сигнала INTR должен сохраняться по крайней мере до подтверждения прерывания. Первый цикл подтверждения холостой, по второму импульсу внешний контроллер прерываний передает по шине номер вектора, обслуживающего данный тип аппаратного прерывания. Прерывание с полученным номером вектора выполняется процессором так же, как и программное. Обработка текущего прерывания может быть в свою очередь прервана немаскируемым прерыванием, а если обработчик установит флаг IF, то и другим маскируемым аппаратным прерыванием.
Немаскируемые прерывания выполняются независимо от состояния флага IF по сигналу NMI (Non Mascable Interrupt). Высокий уровень на этом входе вызовет прерывание с типом (вектором) 2, которое выполняется так же, как и маскируемое. Его обработка не может прерываться под действием сигнала на входе NMI до выполнения команды IRET.
В защищенном режиме, помимо перечисленных видов прерываний существуют так называемые исключения (exceptions). Исключение происходит в результате нештатной ситуации выполнения программы, которую возможно необходимо обработать определенным образом. Исключения подразделяются на отказы, ловушки и аварийные завершения.
Отказ (fault) — это исключение, которое обнаруживается и обслуживается до выполнения инструкции, вызывающей ошибку. После обслуживания этого исключения управление возвращается снова на ту же инструкцию (включая все префиксы), которая вызвала отказ. Отказы, использующиеся в системе виртуальной памяти, позволяют, например, подкачать с диска в оперативную память, затребованную страницу или сегмент.
Ловушка (trap) — это исключение, которое обнаруживается и обслуживается после выполнения инструкции, его вызывающей. После обслуживания этого исключения управление возвращается на инструкцию, следующую за вызвавшей ловушку. К классу ловушек относятся и программные прерывания.
Аварийное завершение (abort) - это исключение, которое не позволяет точно установить инструкцию, его вызвавшую. Оно используется для сообщения о серьезной ошибке, такой как аппаратная ошибка или повреждение системных таблиц.