Студопедия

КАТЕГОРИИ:


Архитектура-(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)

Прерывания. Вопросы на закрепление




Занятие 2. ПРЕРЫВАНИЯ, МНОГОЗАДАЧНОСТЬ

Вопросы на закрепление

· Что из себя представляли программы для первых ЭВМ. Как осуществлялся запуск и выполнение программ для первых ЭВМ. Недостатки исполнения заданий на первых ЭВМ

· Принцип работы первых пакетных ОС, как их еще называли. Основные компоненты первых ОС. Что такое однозадачная ОС

·


 

Прерывания можно разбить на 4 типа:

· Программные прерывания Прерывание вызванное исполняемой программой по ошибке(деление на 0, ссылка на недоступную память,...)

· Прерывания таймера Генерируются таймером процессора и позволяют системе выполнять свои задачи через заданные промежутки времени

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

· Аппаратные прерывания генерируются аппаратурой: клавиатурой, мышью, принтером...или при возникновении аварийных ситуаций: падение напряжения, ошибка памяти...

Пример использования прерываний для повышения эффективности работы системы:

Допустим, программа состоит из 3 частей, между которыми выполняются команды ввода-вывода:

 

---1часть---| команда печати | ---2 часть---| команда ввода |---3часть---| команада сохранения |

 

1 вариант) исполнение такой программы без прерываний:

· при получении команды печати происходит передача управления системной подпрограмме ввода-вывода, которая выполняет 3 шага:
- подготовку к печати (запись в буфер, подготовка параметров для управления печатью...)
- вывод на печать (выполняется контроллером печати и устройством). В это время программа ждет завершения, периодически проверяя закончилась ли печать.
- завершение печати (установка флагов завершения: успешно прошла печать или нет)

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

ВЫВОД: при таком способе образуется много простоев процессора во время операций ввода-вывода, хотя в это время процессор мог бы выполнять следующий действия программы – ведь он не используется при выполнении самой печати или вывода на диск ….

2 вариант) исполнение программы с прерываниями:

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

· После завершения печати, устройство печати генерирует прерывание, по которому процессор:
- останавливает работу исполняемой программы,
- посылает устройству печати уведомление о получении сигнала прерывания
- сохраняет состояние своих регистров для остановленной программы в оперативной памяти (в стек управления) и -- изменяет программный счетчик на адрес, определяемый прерыванием
- обрабатывает прерывание (т.е выполняет действия по завершению печати),
- восстанавливает прежнее состояние регистров (для продолжения исполняемой программы)
- после чего снова продолжает выполнение программы.

· для всех остальных команд ввода-вывода выполняются аналогичные шаги

ИТОГ:

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

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

- дополнительное время использует обработчик, но это время не соизмеримо с временем ввода-вывода

- после получения сигнала прерывания от устройства, процессор посылает сигнал уведомления этому устройству.

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

 




Поделиться с друзьями:


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


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



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




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