Введение в архитектуру компьютеров

задание может направляться на наименее


Например, задание может направляться на наименее загруженную подсистему.

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

Объединение с подчиненными процессорами

Объединение на уровне общего планирования не устраняет временные диспропорции в использовании ОП и ПУ. Для повышения эффективности использования ресурсов применяются сильно связанные МВС. Здесь память и внешние устройства доступны любому процессору, но они распределяются между процессами, а не между процессорами. Назначение процессоров для обслуживания процессов выполняется планировщиком процессов в соответствии с заданной дисциплиной обслуживания, в распоряжении которого имеется уже несколько процессоров.

При построении МВС по принципу объединения с подчиненными процессорами один главный процессор следит за состоянием процессов и руководит работой подчиненных процессоров. Например, для выполнения выбранного процесса планировщик находит свободный процессор и запускает его командой START PROCESSOR (начать вычисление). Подчиненный процессор начнет выполнять программу по указанному адресу памяти. Если в работе подчиненного процессора встретилась особая ситуация (например, необходим ввод-вывод), он подает сигнал главному процессору и ждет дальнейших указаний. Отметим, что один и тот же процесс в разное время может выполняться на разных процессорах.

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

Объединение равноправных процессоров

Объединение процессоров в МВС по принципу "главный–подчиненный" иногда перегружает главный процессор, за счет чего возникает недоиспользование многих ресурсов. В связи с этим предпочтительнее объединение процессоров в ВС как равноправных. При этом список процессов хранится в общей области памяти, доступной любому процессору.
Каждый раз, когда выполняющийся процесс приостанавливается по какой-нибудь причине (закончился квант времени, ожидание ввода-вывода и т. д.), выполняющий его процессор обращается к списку процессов, изменяет статус текущего процесса и выбирает себе новый процесс для исполнения. Все процессоры придерживаются одной дисциплины обслуживания.

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

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

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

Такое же взаимодействие процессов необходимо и в МВС. Существуют две проблемы синхронизации, связанные с распределением процессоров и общением между процессами: состязания (гонки), когда параллельно выпол-

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


Содержание раздела