русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Переключение контекста


Дата добавления: 2013-12-23; просмотров: 880; Нарушение авторских прав


Прерывания по контролю машины.

Прерывания по контролю программы.

Прерывания по рестарту.

Внешние прерывания.

Прерывания ввода-вывода.

Инициируются аппаратурой ввода-вывода и сигнализируют ЦП о том, что произошло изменение состояния канала или устройства ввода-вывода, например, произошло завершение операции ввода-вывода, возникла ошибка или устройство перешло в состояние готовности.

Причинами таких прерываний могут быть различные внешние события, например, истечение кванта времени, заданного на таймере прерываний.

Эти прерывания происходят по команде рестарта ОС.

Причинами таких прерываний являются различные виды ошибок, возникающих в выполняющемся процессе, например попытка деления на ноль.

Эти прерывания вызываются аппаратными ошибками.

Процедуру обработки прерываний, в зависимости от их типа, выполняют входящие в состав ОС соответствующие программы - обработчики прерываний (IH - interrupt handler).

При возникновении прерываниия, ОС должна обеспечивать запоминание состояния прерванного процесса и передачу управления соответствующему обработчику прерывания. Это может быть реализовано с использованием способа переключение контекста(context switching).

При реализации этого способа используются слова состояния программы PSW(program status word), которые управляют порядком выполнения команд и сожержат ряд сведений о состоянии процесса. Существует три типа PSW:

текущее PSW, новое PSW старое PSW.

Новое PSW Старое PSW

Вызов супервизора Вызов супервизора

Прерывания ввода-вывода Текущее PSW Прерывания ввода-вывода

2 1

Внешние прерывания Внешние прерывания

Прерывания по контролю Прерывания по контролю

программы программы

Прерывания по контролю Прерывания по контролю



машины машины

Прерывания по рестарту Прерывания по рестарту

В однопроцессорной машине существует одно текущее PSW, которое содержит адрес следующей команды, подлежащей выполнению, а также типы прерываний, разрешенных и запрещенных на данный момент. Шесть новых PSW, которые содержат адреса размещения соответствующих обработчиков прерываний, и шесть старых PSW - по одному для каждого типа прерываний.

Когда происходит прерывание, то в первую очередь проверяется не является ли оно запрещенным (тогда оно либо задерживается либо игнорируется). Если прерывание является разрешенным, то аппаратурно производится следующее переключение PSW:

· текущее PSW становится старым PSW для прерывания этого типа;

· новое PSW для прерывания этого типа становится текущим PSW.

После такого замещения слов состояния, текущее PSW содержит адрес соответствующего обработчика прерываний, который начинает обрабатывать данное прерывание. Когда обработка прерывания завершается, ЦП начинает обслуживать либо тот процесс, который выполнялся в момент прерывания, либо готовый процесс с наивысшим приоритетом.

Описанная схема обработки прерываний не является единственно возможной.

 



<== предыдущая лекция | следующая лекция ==>
SVС(supervisor call instruction)-прерывания. | Архитектура ОС Linux


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.003 сек.