Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ооаип.doc
Скачиваний:
66
Добавлен:
07.02.2015
Размер:
2.32 Mб
Скачать

4.3. Мультипроцессорная обработка

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

Способы организации вычислительного процесса:

  • Асимметричное мультипроцессирование (ведущий/ведомый).

  • Симметричное мультипроцессирование.

  • Свойство ОС - реентерабельность (или повторная входимость).

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

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

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

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

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

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

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

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

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