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

Для обеспечения эффективной работы многопроцессорных систем их операционные системы специализируют по следующим типовым методам взаимодействия процессоров:

·          “ведущий-ведомый”;

·          симметричная или однородная обработка во всех процессорах;

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

Системы типа “ведущий - ведомый” отличаются довольно простым аппаратурным и программным обеспечением. Они должны получить распространение в МРР-структурах, но следует иметь в виду, что длительное время планирования может быть причиной простоев ведомых вычислителей.

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

В связи с успехами микроэлектроники появилась возможность реализовывать эти структуры в виде сверхбольших интегральных схем (СБИС), что позволяет получить дополнительные преимущества:

·          короткие соединительные линии между процессорными элементами. Это приводит к расширению полосы пропускания и уменьшению задержек;

·          регулярность структуры, позволяющая увеличивать плотность упаковки СБИС и упрощать ее разработку;

·          высокую степень распараллеливания вычислений, что позволяет обеспечить высокую производительность.

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

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

Методика решения задач по физике, математике, информатике