Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Механизм прерываний

Назначение и типы прерываний.

Смешанные алгоритмы планирования

В современных ОС планирование основано на квантовании и приоритетном алгоритмах (Windows NT/2000/XP, Unix)

На выполнение выбирается поток с наивысшим приоритетом, которому выделяется квант. Если появляется поток с более высоким приоритетом, то текущий вытесняется

Приоритет потока повышается, если поток не использовал квант (например, при выполнении ввода-вывода).

 

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

Различают следующие типы прерываний:

· внешние (аппаратные),

· внутренние (исключения -exception),

· программные

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

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

Прерываниям равного значения приписываются уровни приоритетов (уровни - IRQ)

Каждое из прерываний обслуживается обработчиком прерываний (Interrupt Service Routine).

Внешние – обрабатываются драйверами, внутренние – модулями ядра, программные – процедурами из API

Механизм прерываний поддерживается аппаратными и программными средствами ОС
Различают векторный (vectored) и опрашиваемый (polled) типы прерываний. В обоих способах процессору передается информация об уровне приоритета.

При векторном типе прерывания в процессор передается также адрес обработчика прерывания

Для векторного типа схема обработки такова: электрический сигнал - запрос на подтверждение - вектор - обработчик (например, для шины VMEbus)

Для опрашиваемого схема обработки такова: сигнал - запрос на подтверждение - уровень приоритета (например, шина ISA). Каждый уровень связан с несколькими устройствами. Вызываются все обработчики данного уровня. Один опознает свое устройство. (Примеры шин: ISA, EISA, MCA, PCi, SBus)

Приоритеты обслуживания могут быть: относительные (обработка прерывания не прекращается при появлении более приоритетного прерывания) и абсолютные.

<== предыдущая лекция | следующая лекция ==>
Вытесняющие алгоритмы планирования, основанные на приоритетах | Алгоритмы распределения памяти с использованием внешней памяти
Поделиться с друзьями:


Дата добавления: 2013-12-14; Просмотров: 788; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




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