Лекция 3. Исключения и прерывания в встроенных системах.

Презентация:



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

Встроенные Системы Часть 3. Прерывания Кафедра Информатики, мат-мех СПбГУ Copyright © 2004 Victor Vengerov
Лекция 4. Режимы работы микропроцессора. Взаимодействие микропроцессора с остальными устройствами Взаимодействие МП с остальными устройствами МПС происходит.
Системные механизмы Windows. Системные механизмы диспетчеризация ловушек, в т.ч. прерываний, DPC (deferred procedure call), APC (asynchronous procedure.
Основы современных операционных систем Лекция 21.
Проектирование центральных и периферийных устройств Преподаватель: Мельников Максим Игоревич.
Подготовила асс. кафедры СМК Воробьева Т.А.. Программное обеспечение (ПО) - комплекс программ, обеспечивающих обработку или передачу данных, а также предназначенных.
Лекция 6 Понятие операционных систем Учебные вопросы: 1. Характеристики ОС 2. Свободные и проприетарные ОС.
Основы современных операционных систем Лекция 4. (C) В.О. Сафонов, 2010 Архитектура компьютерных систем.
Учебный курс Основы операционных систем Лекция 2 кандидат физико-математических наук, доцент Карпов Владимир Ефимович.
Программное обеспечение персонального компьютера.
Основные виды ресурсов и возможности их разделения.
Операционные системы Подготовила Подготовила студентка студентка 1 курса группы Э курса группы Э-108 Шпудейко Кристина Шпудейко Кристина.
Процессор П1П2П3П4П2П1 Контроллер Завершение операции ввода-вывода Вызов операции ввода-вывода Операция ввода-вывода Синхронное выполнение операции ввода-вывода.
Программное обеспечение компьютера. Операционная система.
1 Название курса Операционные системы и основы сетевых технологий (ОС и ОСТ для групп – ПМ) ОС и оболочки (для группы – ПМИ - 81) ОС, среды и оболочки.
Операционные системы. 2 Операционная система Основная управляющая программа компьютера, которая постоянно находится в памяти компьютера и занимается всеми.
Операционная система ПК Выполнила ученица 10 «Б» класса Панина Мария.
Системное программное обеспечение Кыргызско – Российский Славянский Университет Кафедра ИВТ, 3-й курс ИВТ, 5 семестр Лекция 9.
1 ЛЕКЦИЯ 1 ПРЕРЫВАНИЯ Прерывание – инициируемый определенным образом процесс, временно переключающий микропроцессор на выполнение другой программы с последующим.
Транксрипт:

Лекция 3. Исключения и прерывания в встроенных системах

Прерывания

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

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

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

Термин системное прерывание относится к механизму процессора, предназначенному для захвата выполняемого потока при возникновении исключения или прерывания и для передачи управления в определенное место в операционной системе. В ОС процессор передает управление обработчику системного прерывания, который является функцией, характерной для того или иного прерывания или исключения.

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

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

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