3 Типа мос:
Каждому ЦП – своя ОС
Статически разделяется память по числу ЦП.
Каждый ЦП имеет свою копию ОС.
Эффект – ЦП работает, как независимых ВС.
Плюсы:
Простота.
Возможность статического (заранее запланированного) совместного использования ОЗУ, ВнУ.
Возможность взаимодействия процессов через разделяемую память.
Минусы:
Системные вызовы в каждом ЦП обрабатываются самостоятельно – дублирование управляющий структур.
Невозможность совместного использования процессоров – простаивание ЦП.
Невозможность совместного использования ОЗУ – неоптимальное распределение памяти.
При использовании дискового КЭШа разделяемых ВнУ, невозможно обеспечить когерентность.
МОС – хозяин-подчиненный
Одна копия ОС выполняется на «ведущем» ЦП.
Остальные процессоры выполняют прикладные процессы.
Ведущий процессор при отсутствии системной работы может выполнять приложения.
Плюсы:
Используются единые управляющие структуры.
Решаются проблемы 1-4 предыдущей схемы.
Минусы:
При большом количестве ЦП/решении задач с высокой интенсивностью вызовов системных функций ведущий ЦП становится узким местом.
Симметричный МОС – SMP
Устраняет перекос второй модели.
Имеется одна копия ОС
ОС может выполняться любым процессором.
Плюсы:
Обеспечивается динамический баланс загрузки всех ЦП.
Эффективное использование ОЗУ.
Минусы:
Необходимость синхронного доступа к структурам ОС.
Решения:
ОС – критический участок – слишком неэффективно.
Эффективное решение – разделение ОС на независимые части.
Чем больше частей – тем выше параллелизм.
Очень сложное решение.
…
Средства взаимодействия в многомашинных ВС:
Обмен сообщениями
Send
Блокирующая операция S
Неблокирующая операция S с копированием сообщения в память системы
Неблокирующая операция S с прерываниями (минус – усложнение программирования)
Receive
Блокирующая операция R
Неблокирующая операция R с прерываниями
Неблокирующая операция R с почтовым ящиком и опросом оного
Неблокирующая операция R с активными сообщениями (порождает поток для обработки)
Удаленный вызов процедур – концептуально элегантный
Вызов удаленной процедуры максимально похож на вызов локальной процедуры.
Ограничения реализации:
Нельзя передавать указатели
Невозможно использование глобальных переменных
Необходимо жесткое описание типов и форматов данных (метаописание)
Распределенная память совместного доступа
Основана на технике загрузки/выгрузки.
<картинка>
При реализации когерентности распределенной памяти возникает проблема ложного совместного использования: для снижения накладных расходов объекты, которыми обмениваются узлы, необходимо делать достаточно крупными => поддерживать целостность необходимо даже тогда, когда узлы изменяют разные мелкие единицы в пределах одного крупного объекта.
Взаимодействие в распределенных вычислительных системах (построенные в публичных сетях):
<облако>
Компьютеры соединены через сеть. Связь называется слабой.
Переход от процессорно-центрической модели вычисления к сетецентрической модели ВС.
Подходы к реализации распределенных приложений:
Программное обеспечение, основанное на документе. Распределенная система – большая коллекция документов. Пример – веб-приложения.
ПО, основанное на совместно-используемых объектах. COM, DCOM, CORBA.
ПО, основанное на координации. Реализует модель публикация-подписка.
ПО, основанное на файловой системе. Большая распределенная файловая система.
2 модели:
Модель закачивания-скачивания. #ftp
Модель удаленного доступа – скачивания файла по частям.
Проблемы реализации приложений:
Проблема выбора модели при проектировании
Проблема иерархии каталогов
Проблема совместного использования файлов
Различают 3 подхода к именованию файлов:
Имя файла – сервер + файл
Монтирование удаленной ФС
Единое пространство имен
Первые 2 – для объединения унаследованных приложений.
3 – для сетевых приложений общего назначения.