
- •Операционные системы. Часть 2 Учебное пособие
- •Содержание
- •6.1.1. Общие понятия 58
- •4.Память
- •4.1.Управление оперативной памятью
- •4.1.1.Виртуальная и физическая память
- •4.1.2.Схема управления памятью
- •4.1.3.Управление памятью в однозадачной системе
- •4.1.4.Управление памятью в многозадачной системе
- •4.1.5.Подкачка процессов целиком
- •4.1.6.Страничная подкачка
- •4.1.7.Управление виртуальной памятью
- •4.2.Носители памяти для долговременного хранения данных
- •4.2.1.Накопители на жестких дисках
- •4.2.2.Оптические диски
- •4.2.3.Голографические диски
- •4.2.4.Флэш-память
- •4.2.5.Перспективные носители информации
- •Контрольные вопросы
- •5.Разработка надстроек к операционным системам
- •5.1.Общие понятия
- •5.2.Многозадачная оболочка с синхронной заменой контекста
- •5.3.Многозадачная система с принудительной заменой контекста
- •5.4.Дополнения к асинхронной надстройке
- •Контрольные вопросы
- •6.Краткий обзор операционных систем
- •6.1. Операционная система unix
- •6.1.1.Общие понятия
- •6.1.2. Структура unix
- •6.2.Операционные системы реального времени
- •6.2.1.Понятие об операционной системе qnx
- •6.2.2.Введение в ос VX Works
- •6.3.Особенности ос для универсальных многопроцессорных систем
- •6.3.1.Операционная система helios
- •6.4.Операционная система Windows 2000
- •Варианты выпуска Windows 2000
- •Контрольные вопросы
- •Литература
- •Предметный указатель
6.3.Особенности ос для универсальных многопроцессорных систем
Многопроцессорные системы осуществляют параллельную или распределенную обработку. От многомашинных комплексов они отличаются тем, что все процессоры используют единую память (такая схема теоретически дает возможность добиться максимального увеличения быстродействия системы). Для объединения процессоров в многопроцессорные системы применяются транспьютеры, которые представляют собой процессоры, включающие в себя средства связи с другими процессорами. При распределенной обработке применяются три схемы:
параллельная обработка;
конвейерная обработка;
смешанная обработка.
Параллельная обработка. При
параллельном выполнении задач все
процессоры одинаковы. Информация,
поступающая в вычислительную систему,
разбивается на потоки, каждый из которых
обрабатывается на отдельном компьютере
(см. рис. 6.4). Теоретически суммарная
производительность Прсум
может достигать величины
,
где Пр1- производительность
одного процессора; n –
число процессоров.
На практике суммарная производительность существенно меньше. Это связано с рядом причин, которые будут изложены ниже.
Рис. 6.19. Параллельная обработка процессов
Конвейерная обработка. Конвейерная
обработка осуществляется в системе,
состоящей из специализированных
процессоров, каждый из которых выполняет
только определенные операции. В упрощенном
виде (на практике обработка осуществляется
на более сложном уровне) работа этой
системы представлена на рис. 6.5.
Пусть требуется вычислить выражение
.
Тогда процессор-менеджер для
выполнения различных операций выбирает
адекватные процессоры, которые выполняют
данные вычисления наиболее быстро.
Первый процессор специализируется на
вычислении квадратов. Второй процессор
быстрее остальных транспьютеров
перемножает. Процессору под номером 3
нет равных при выполнении сложения.
Специализация четвертого процесса –
извлечение корня. Предельную
производительность этой системы
приближенно можно вычислить по формуле:
,
где коэффициент k
больше единицы. Его присутствие в формуле
вычисления предельной производительности
связано с тем, что каждый процессор
настроен на выполнение специализированных
операций, которые выполнялись бы на
универсальном за большее время.
Производительность на практике, как и
при параллельной обработке, значительно
уступает предельной. Дополнительной
сложностью при реализации этой схемы
является необходимость «умного»
процессора, который быстро и обоснованно
выдавал бы задания «рабочим» процессорам.
Смешанная обработка. При смешанной обработке конвейерные линейки объединяются в параллельные нити (общее число процессоров может исчисляться тысячами штук). Такая система может быть очень производительной.
Рис. 6.20. Конвейерная обработка
Трудности распределенной обработки. Хотя в многопроцессорной системе с единой памятью теоретически содержатся значительные резервы повышения производительности, на практическом уровне использование этих резервов наталкивается на ряд трудностей.
Трудно определить перечень задач или фрагментов задач, которые необходимо выполнять параллельно. Утверждение справедливо и для уровня пользователя, на котором пишутся программы с использованием языков параллельного программирования, и для уровня системы. Это связано с тем, что наиболее разработанная фон Неймановская архитектура не так эффективна, как для однопроцессорных систем
Задача распределения ресурсов, которая, вообще, является очень сложной, для многопроцессорных систем усложняется требованием равномерной разгрузки транспьютеров.
Все процессоры имеют одинаковый приоритет и поэтому при одновременных обращениях к периферийным могут возникать коллизии.
ОС для многопроцессорных систем должны реагировать на факторы, которые перечислены в первых трёх пунктах, и поэтому они существенно сложнее, чем операционные системы для однопроцессорных комплексов.