Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
СПО: Ответы к экзамену.doc
Скачиваний:
34
Добавлен:
17.04.2019
Размер:
376.32 Кб
Скачать

33. Понятие прерывания. Механизм обработки прерываний.

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

Механизм обработки прерываний независимо от архитектуры вычислительной системы включает следующие элементы:

  1. установление факта прерывания (прием сигнала на прерывание) и идентификация прерывания (в операционных системах иногда осуществляется повторно, на шаге 4);

  2. запоминание состояния прерванного процесса.

  3. управление аппаратно передаётся подпрограмме обработки прерывания.

  4. сохранение информации о прерванной программе, которую не удалось спасти на шаге 2 с помощью действий аппаратуры.

  5. обработка прерывания. Эта работа может быть выполнена той же подпрограммой, которой было передано управление на шаге 3, но в ОС чаще всего она реализуется путем последующего вызова соответствующей подпрограммы;

  6. восстановление информации, относящейся к прерванному процессу (этап, обратный шагу 4);

  7. возврат в прерванную программу.

Шаги 1-3 реализуются аппаратно, а шаги 4-7 – программно.

34. Синхронные и асинхронные прерывания.

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

  • внешние (их иногда называют асинхронными);

  • внутренние (синхронные).

Внешние прерывания вызываются асинхронными событиями, которые происходят вне прерываемого процесса, например:

  • прерывания от таймера;

  • прерывания от внешних устройств (прерывания по вводу/выводу);

  • прерывания по нарушению питания;

  • прерывания с пульта оператора вычислительной системы;

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

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

  • при нарушении адресации (в адресной части выполняемой команды указан запрещённый или несуществующий адрес, обращение к отсутствующему сегменту или странице при организации механизмов виртуальной памяти);

  • при наличии в поле кода операции незадействованной двоичной комбинации;

  • при делении на нуль;

  • при переполнении или исчезновении порядка;

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

35. Дисциплины диспетчеризации.

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

1. При дисциплине обслуживания RR (round robin, круговая, карусельная) каждая задача получает процессорное время порциями (квантами времени). После окончания кванта времени задача снимается с процессора и он передаётся следующей задаче. Снятая задача ставится в конец очерёди задач, готовых к выполнению.

2. Диспетчеризация без перераспределения процессорного времени, т.е. не вытесняющая многозадачность (non-preemptive multitasking) – это такой способ диспетчеризации процессов, при котором активный процесс выполняется до тех пор, пока он сам, что называется «по собственной инициативе», не отдаст управление диспетчеру задач для выбора из очерёди другого, готового к выполнению процесса или треда.

3. Дисциплина обслуживания SJN (shortest job next, т.е. следующим будет выполняться кратчайшее задание) требует, чтобы для каждого задания была известна оценка в потребностях машинного времени.

4. Дисциплина SRT (shortest remaining time, т.е. следующее задание требует меньше всего времени для своего завершения).

5. Диспетчеризация с перераспределением процессорного времени между задачами, т.е. вытесняющая многозадачность (preemptive multitasking) – это такой способ, при котором решение о переключении процессора с выполнения одного процесса на выполнение другого процесса принимается диспетчером задач, а не самой активной задачей.