Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Вопросы к экзамену СМО(ответы. Еличева).doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
8.96 Mб
Скачать
  1. Объектная модель. Симметричная мультипроцессорная обработка.

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

ОС с мультипроцессорной обработкой делятся на две категории — с асим­метричной либо симметричной обработкой, как показано на рис. 2-5.

Операционные системы с асимметричной мультипроцессорной обработ­кой (asymmetric multiprocessing, ASMP) обычно выбирают для исполнения соб­ственного кода один и тот же процессор (например А), в то время как другие процессоры выполняют только пользовательские задачи. Так как код ОС испол­няется на одном процессоре, то ОС ASMP довольно просто создать, усовершен­ствовав существующую однопроцессорную ОС. Особенно хорошо ОС ASMP подходят для работы на асимметричном оборудовании, например, процессо­ре, к которому подключен сопроцессор, или на двух процессорах, совместно использующих не всю доступную память. Однако такую ОС трудно сделать пе­реносимой. Аппаратура разных производителей (и даже разные версии аппа­ратуры одного производителя) имеет тенденцию различаться по типу и степе­ни асимметрии. Либо производители оборудования должны ориентироваться на одну ОС, либо ОС придется постоянно переписывать для каждой аппарат­ной платформы.

Системы с симметричной мультипроцессорной обработкой (symmetric multiprocessing, SMP), к которым относится и Windows NT, позволяют коду ОС системы выполняться на любом свободном процессоре или на всех процессо­рах одновременно, причем каждому из процессоров доступна вся память. Такой подход полнее реализует возможности нескольких процессоров, так как сама ОС может использовать значительную часть процессорного времени компьютера, в зависимости от того, какие приложения на нем исполняются. Исполнение ОС только на одном процессоре может сильно загружать его, в то время как остальные простаивают, что уменьшит производительность системы; при увели­чении числа процессоров в системе возрастает вероятность того, что узким местом станут именно действия, выполняемые ОС. Помимо равномерного рас­пределения системной загрузки, системы SMP сокращают время простоя из-за неисправностей, так как при сбое одного процессора код ОС может исполнять­ся на других. Наконец, поскольку симметричная аппаратура реализуется разны­ми производителями сходным образом, имеется возможность создания перено­симой ОС SMP.

В отличие от ASMP, системы SMP обычно проектируются и пишутся полно­стью заново, так как, чтобы гарантировать правильную работу, их код должен следовать строгим правилам. Конкуренция за ресурсы и другие вопросы произво­дительности принимают в мультипроцессорных системах более острую форму, чем в обычных ОС, и должны учитываться при проектировании системы.

Windows NT обладает свойствами, которые принципиально важны для мультипроцессорной ОС:

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

Асимметричная Симметричная

Асимметричная

Симметричная

Рис. 2-5. Асимметричная и симметричная мультипроцессорная обработка.

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

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

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

Структура Windows NT: