Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Учебно-методическое пособие .doc
Скачиваний:
88
Добавлен:
14.04.2019
Размер:
2.72 Mб
Скачать
      1. Концепция прерываний процесса

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

порождение - подготовку условий для исполнения процессором:

активное состояние (или «Счет») - непосредственное исполнение процессором:

ожидание - по причине занятости какого-либо требуемого ресурса:

готовность - программа не исполняется, но все необходимые для исполнения программы ресурсы, кроме центрального процессора, предоставлены:

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

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

Рис. 1. Граф состояний переходов процесса из одной фазы в другую

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

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

При обработке каждого прерывания должна выполняться следующая последовательность действии:

  • восприятие запроса на прерывание:

  • запоминание состояния прерванного процесса, определяемое значением счетчика команд и других регистров процессора;

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

  • обработка прерывания:

  • восстановление прерванного процесса.

В большинстве ЭВМ первые три этапа реализуются аппаратными средствами, а остальные - блоком программ обработки прерываний операционной системы.

Контрольные вопросы

  1. Как связаны друг с другом процесс и поток?

  2. Какие ресурсы необходимы потоку для его выполнения?

  3. Назовите одним словом аппаратные и программные ресурсы.

  4. Какие действия выполняются в процессе загрузки программы в оперативную память?

  5. Какой этап в выполнении процесса свидетельствует о том, что произошло прерывание?

Задания для самоконтроля

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

  2. В нижеизложенном тексте определите, что является процессом, потоком и где произошло прерывание потока.

Студент собрался на обучение в педколледж. Взяв вещи, он вышел из дома и направился в педколледж. На полпути студент вспомнил, что он не взял важную вещь, и возвратился за ней.