Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
сказки_3.rtf
Скачиваний:
4
Добавлен:
01.07.2025
Размер:
3.62 Mб
Скачать

Многопроцессорный режим работы [57-60]

Такой режим обычно обеспечивается в линейке ОС специальной версией, так как у ОС появляются дополнительные функции учёта разрешений выполнения программ на списке процессоров (сродство, affinity), синхронизации памяти при организации с кэшированием в несимметричном режиме управления, синхронизации параллельных задач и соответствующие специальные пакеты, реализующие эти функции в интерфейсе прикладных программ, например, MPI. В последнее время для ресурсоёмких вычислений, наряду с MPI, применяются графические процессоры GPU, состоящие из многих процессорных элементов, обрабатывающих порции больших массивов данных, такие вычисления называются GPGPU.

Управление памятью [01, 05, …, 65]

Основные функции ОС по управлению памятью: учёт, планирование, защита, выделение, оперативное перераспределение, организация виртуальной памяти. Учёт ведётся с помощью списков свободных и занятых областей (диапазонов адресов). После старта системы постоянно занята область резидентной части ядра и отображаемых на память устройств. Остальная часть планируется диспетчером памяти под нерезидентные модули ядра и задачи служебных процессов ОС в виде системной рабочей области и области процессов пользовательских задач для выделения в соответствии с их потребностями. Цель планирования – предоставить пользовательским процессам достаточное количество ресурсов, с тем, чтобы они не испытывали ресурсного голода. Планирование выделения может производиться, в зависимости от свойств аппаратной платформы, неперекрывающимися непрерывными областями различной длины (сегментами), совокупностями массивов фиксированной длины (страниц) или в смешанном режиме.

При сегментной организации выделения задаче предоставляется сегмент в свободной области достаточного размера. Поскольку обычно длина сегмента и длина свободной области не совпадают, возникает фрагментация памяти на занятые области и свободные области недостаточной длины. В этом случае служебная задача ОС – сборщик мусора (Garbage collector) осуществляет дефрагментацию - перемещение задач в памяти таким образом, что в ней остаётся свободная область достаточной длины. В NOS/BE1 перемещаемая задача переводилась в состояние ожидания, её код перемещался с помощью периферических процессоров в массовую память, затем оттуда на новое место, после чего задача переводилась в состояние готовности, таким образом, центральные процессоры работали, обслуживая остальные задачи. Дефрагментация - пример автоматического управления памятью при её оперативном перераспределении по инициативе ОС. Другим типом управления является выполнение запроса задачи на выделение, закрепление или освобождение участка памяти.

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

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