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