- •Министерство образования и науки российской федерации федеральное агентство по образованию
- •Часть 1. Введение в операционные системы
- •Таганрог
- •Оглавление
- •Часть 1. Введение в операционные системы 10
- •Введение Предмет, цель и задачи дисциплины
- •Структура дисциплины
- •Особенности дисциплины
- •Важнейшие моменты эволюции ос
- •Часть 1. Введение в операционные системы
- •1. Основные сведения об операционных системах
- •1.1. Основные элементы аппаратуры компьютера
- •1.2. Определения ос
- •( ( ( (Аппаратура) 1 ) 2 ) 3 ) 4 ) 5
- •1.3. Единицы работы и критерии эффективности вс, подчеркивающие роль ос
- •1.4. Режимы работы компьютеров, обеспечиваемые ос
- •1.5. Функции ос
- •1.6. Классификация ос
- •1.7. Основные принципы построения ос
- •1.8. Требования, предъявляемые к современным ос
- •1.9. Тенденции развития ос на современном этапе
- •1.10. Контрольные вопросы и задания
- •2. Концептуальные основы ос
- •2.1. Ресурс
- •2.1.1. Понятие и определения ресурса
- •2.1.2. Классификация и свойства ресурсов
- •2.2. Процесс
- •2.2.1. Понятие и определения процесса
- •2.2.2. Состояния процесса
- •2.2.3. Виды, классификация и свойства процессов
- •2.2.4. Отношения между взаимосвязанными процессами
- •2.2.5. Поток
- •2.3. Функциональные компоненты ос
- •2.3.1. Подсистема управления процессами
- •2.3.2. Подсистема управления памятью
- •2.3.3. Подсистемы управления файлами и увв
- •2.3.4. Средства защиты данных и администрирования
- •2.3.5. Интерфейс прикладного программирования
- •2.4. Концепция прерывания
- •2.4.1. Назначение и типы прерываний
- •2.4.2. Механизм прерываний
- •2.4.3. Программные прерывания
- •2.5. Концепция виртуализации
- •2.6. Дисциплины распределения ресурсов, используемые в ос
- •2.6.1. Понятия запроса, очереди, дисциплины распределения ресурса
- •2.6.2. Классические дрр
- •2.7. Средства взаимодействия пользователя с компьютером в среде ос
- •2.8. Контрольные вопросы и задания
- •Список сокращений к части 1
- •Глоссарий к части 1
- •Литература к части 1
- •Приложения Приложение 1. Описание дисциплины «Операционные системы»
- •Приложение 2. Взаимосвязь и особенности популярных ос
- •Приложение 3. Тестовые задания по дисциплине «Операционные системы». Часть 1. Введение в операционные системы
- •Основы операционных систем Учебное пособие
- •Часть 1. Введение в операционные системы
2.4. Концепция прерывания
2.4.1. Назначение и типы прерываний
Концепция прерывания (interruption, INT) берет свое начало с того момента, когда разработчики компьютеров поняли, что без прерываний в работе ВС не обойтись и это обстоятельство можно применить с пользой: сделать прерывание основным механизмом функционирования ОС [1-4]. Примеры необходимости прерываний: в ОП отсутствуют данные, необходимые активной задаче; произошло событие, когда что-то случилось, появилось или закончилось в системе; более приоритетной задаче требуется процессор.
Прерывания являются движущей силой любой ОС [1, 2]. Например, периодические прерывания от таймера вызывают смену процессов в мультипрограммной ОС, а прерывания от УВВ управляют потоками данных, которыми ВС обменивается с внешним миром. Система прерываний переводит процессор на выполнение иного потока команд вместо текущего (исходного) потока с последующим возвратом к исполнению исходного кода.
Механизм обработки прерываний похож на механизм выполнения процедур (подпрограмм), хотя и имеет важное отличие. Переход к подпрограмме происходит в заранее определенных программистом точках программы часто в зависимости от некоторых данных. Прерывание же может происходить в любой точке потока команд программы. Прерывание возникает либо из-за внешних по отношению к процессу выполнения программы событий, либо при появлении непредвиденных аварийных ситуаций в процессе ее выполнения. Сходство прерываний с процедурами состоит в том, в обоих случаях выполняется некоторая подпрограмма, обрабатывающая специальную ситуацию, а затем продолжается выполнение основной ветви программы.
В зависимости от источника прерывания делятся на 3 класса: внешние, внутренние и программные [2].
Внешние или аппаратные прерывания могут возникать в результате действий пользователя или поступления сигналов от аппаратуры – сигналов завершения операций ввода-вывода, вырабатываемых контроллерами УВВ или сигналов от датчиков управляемых компьютером технических объектов. Они являются асинхронными по отношению к потоку инструкций прерываемой программы, возникая между выполнением двух соседних инструкций. При этом система после обработки прерывания продолжает выполнение прерванного процесса, уже начиная со следующей инструкции.
Внутренние прерывания или исключения (exceptions – особые исключительные ситуации) происходят синхронно с выполнением программы (внутри тактов команды) при появлении аварийной ситуации в ходе выполнения некоторой инструкции. Примеры исключений: деление на нуль, ошибки защиты памяти, обращение по несуществующему адресу, попытка исполнить привилегированную инструкцию в пользовательском режиме и т.п.
Программные прерывания, по сути, не являются «истинными» прерываниями. Программное прерывание возникает при выполнении особой команды процессора, имитирующей прерывание, то есть переход на новую последовательность инструкций.
Прерываниям приписывается приоритет, на основе которого они ранжируются по степени важности и срочности. Прерывания с равными приоритетами образуют свой уровень приоритета.
Прерывания обычно обрабатываются модулями ОС, так как действия, выполняемые по прерыванию, относятся к управлению разделяемыми ресурсами ВС (процессором, принтером, диском, таймером). Процедуры, вызываемые по прерываниям, называют обработчиками прерываний или процедурами обслуживания прерываний (Interrupt Service Routine). Аппаратные прерывания обрабатываются драйверами соответствующих УВВ, исключения – специальными модулями ядра, а программные прерывания – процедурами ОС, обслуживающими системные вызовы. Кроме этих модулей ОС может иметь диспетчер прерываний, координирующий работу отдельных обработчиков прерываний.