Последовательность действий при обработке прерываний 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Последовательность действий при обработке прерываний



1. возникновение прерывания

2. обращение к таблице векторов прерываний (извлечение адреса обработчика соответствующего прерывания)

3. обработка прерывания

4. возвращение из прерывания (возврат к процессу, который обрабатывался до возникновения прерывания)

Вектор прерывания

номер (число), закрепленный за устройством, которое определяет соответствующий обработчик прерываний (256 векторов прерываний)

Приоритет прерываний

все источники прерывания делятся на классы. Каждому классу назначается свой уровень приоритета:

· относительное обслуживание при возникновении прерывания с более высоким приоритетом, оно выполняется только после выполнения текущего

· абсолютное обслуживание при возникновении более приоритетного прерывания текущее прерывание вытесняется из обработки процесса. После завершения процедуры процессор возвращается к вытесненному прерыванию.

 

9. Понятия: задание, процесс, поток. Планирование и диспетчеризация потоков.

Программа – статический объект на носителе информации, содержащий инструкции и команда для ЭВМ.

Процесс – динамический объект, возникающий в системе при запуске программы (пользователем, другим процессом, системой).

Составная часть процесса – поток. (наименьшая единица обработки, назначенная ОС)

Задача – процесс, состоящий из одного потока.

Переход от выполнения одного потока к другому осуществляется при помощи планирования и диспечерезации.

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

 

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

1)Определение момента времени для смены текущего активного потока.

2)Выбор потока для выполнения из очереди готовых потоков.

Виды планирования потоков:

а) Динамический Решения принимаются во время работы системы, на основе анализа текущей ситуации. Требует значительного количества ресурсов(on-line)
б)Статический Используется в специализированных системах.(например в системах реального времени) решения планирования принимаются до начала работы системы (off-line)

 

Диспетчеризация – заключается в реализации найденного в результате планирования (динамич. или статич.) решения, т.е. в переключение процессора с одного потока на другой.

Перед переключением на выполнение нового потока ОС запоминает контекст текущего.

Контекст - информация о состояние ПК в момент прерывания потока:

· Флаги регистров(значения)

· Значение счетчика команд

· Режим работы процессора

· Регистры общего назначения

· Ссылки на открытые файлы

· Коды ошибок

· Данные об операциях ввода-вывода

 

 

Действия при диспетчеризации:

1)Сохранение контекста текущего потока(который требуется сменить)

2)загрузка контекста нового потока

3)запуск нового потока на выполнение

 

Состояния существования процесса. Графы состояний потоков.

 

Состояние потока:

1)Выполнение Активное состояние потока, во время которого поток обладает всеми необходимыми ресурсами, и непосредственно выполняется процессором  
2)Готовность Пассивное состояние, в котором поток заблокирован внешними причинами (поток обладает всеми ресурсами, но не имеет доступа к процессору)
3)Ожидание Пассивное состояние потока, при котором он заблокирован внутренними обстоятельствами (не обрабатывается процессором и не имеет ресурсов)

 

Типичный граф состояния потока

 

Алгоритмы планирования потоков:

1) Не вытесняющие – активный поток выполняется, пока сам не передаст управление ОС (для загрузки следующего потока)

2) Вытесняющая – решение о переключение с потока на поток принимает ОС.а не активной задачей.



Поделиться:


Последнее изменение этой страницы: 2017-02-06; просмотров: 1838; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 52.14.126.74 (0.028 с.)