3 Типа мос:
Каждому ЦП – своя ОС
Статически разделяется память по числу ЦП.
Каждый ЦП имеет свою копию ОС.
Эффект – ЦП работает, как независимых ВС.
Плюсы:
Простота.
Возможность статического (заранее запланированного) совместного использования ОЗУ, ВнУ.
Возможность взаимодействия процессов через разделяемую память.
Минусы:
Системные вызовы в каждом ЦП обрабатываются самостоятельно – дублирование управляющий структур.
Невозможность совместного использования процессоров – простаивание ЦП.
Невозможность совместного использования ОЗУ – неоптимальное распределение памяти.
При использовании дискового КЭШа разделяемых ВнУ, невозможно обеспечить когерентность.
МОС – хозяин-подчиненный
Одна копия ОС выполняется на «ведущем» ЦП.
Остальные процессоры выполняют прикладные процессы.
Ведущий процессор при отсутствии системной работы может выполнять приложения.
Плюсы:
Используются единые управляющие структуры.
Решаются проблемы 1-4 предыдущей схемы.
Минусы:
При большом количестве ЦП/решении задач с высокой интенсивностью вызовов системных функций ведущий ЦП становится узким местом.
Симметричный МОС – SMP
Устраняет перекос второй модели.
Имеется одна копия ОС
ОС может выполняться любым процессором.
Плюсы:
Обеспечивается динамический баланс загрузки всех ЦП.
Эффективное использование ОЗУ.
Минусы:
Необходимость синхронного доступа к структурам ОС.
Решения:
ОС – критический участок – слишком неэффективно.
Эффективное решение – разделение ОС на независимые части.
Чем больше частей – тем выше параллелизм.
Очень сложное решение.
…
Средства взаимодействия в многомашинных ВС:
Обмен сообщениями
Send
Блокирующая операция S
Неблокирующая операция S с копированием сообщения в память системы
Неблокирующая операция S с прерываниями (минус – усложнение программирования)
Receive
Блокирующая операция R
Неблокирующая операция R с прерываниями
Неблокирующая операция R с почтовым ящиком и опросом оного
Неблокирующая операция R с активными сообщениями (порождает поток для обработки)
Удаленный вызов процедур – концептуально элегантный
Вызов удаленной процедуры максимально похож на вызов локальной процедуры.
Ограничения реализации:
Нельзя передавать указатели
Невозможно использование глобальных переменных
Необходимо жесткое описание типов и форматов данных (метаописание)
Распределенная память совместного доступа
Основана на технике загрузки/выгрузки.
<картинка>
При реализации когерентности распределенной памяти возникает проблема ложного совместного использования: для снижения накладных расходов объекты, которыми обмениваются узлы, необходимо делать достаточно крупными => поддерживать целостность необходимо даже тогда, когда узлы изменяют разные мелкие единицы в пределах одного крупного объекта.
Взаимодействие в распределенных вычислительных системах (построенные в публичных сетях):
<облако>
Компьютеры соединены через сеть. Связь называется слабой.
Переход от процессорно-центрической модели вычисления к сетецентрической модели ВС.
Подходы к реализации распределенных приложений:
Программное обеспечение, основанное на документе. Распределенная система – большая коллекция документов. Пример – веб-приложения.
ПО, основанное на совместно-используемых объектах. COM, DCOM, CORBA.
ПО, основанное на координации. Реализует модель публикация-подписка.
ПО, основанное на файловой системе. Большая распределенная файловая система.
2 модели:
Модель закачивания-скачивания. #ftp
Модель удаленного доступа – скачивания файла по частям.
Проблемы реализации приложений:
Проблема выбора модели при проектировании
Проблема иерархии каталогов
Проблема совместного использования файлов
Различают 3 подхода к именованию файлов:
Имя файла – сервер + файл
Монтирование удаленной ФС
Единое пространство имен
Первые 2 – для объединения унаследованных приложений.
3 – для сетевых приложений общего назначения.
Операционные системы (1)
Система жесткого реального времени, мягкого реального времени (2-3)
Аппаратура, основные функции, эксплуатационные требования (3-4)
Супервизор (5-6)
Процессы (6-8)
Алгоритм Деккера (для синхронизации двух процессов). Метод проверить и установить (8-10)
Механизмы с пассивным ожиданием входа в КУ (10-11)
Задача поставщик - потребитель (11-13)
Мониторы (13-16)
Тупики, стратегия Хавендера, Алгоритм Банкира, обнаружение и восстановление (16-18)
Распределение времени процессора (18-20)
Управление памятью (20-22)
Стратегии управления памятью, страничная организация, соч. сегментной и страничной, виртуальная память (22-24)
Стратегии распр. Памяти для сегментов переменной длины (25-27)
Управление внешней памятью (27-28)
Стратегии оптимизации поиска цилиндра (28-29)
Конфигурирование ВС (30-32)
Принципы оценки производительности систем (33)
Методы оценки (34-36)
Тесты (36-38)
Защита объектов ОС (38-39)
Описание статуса защиты (39-41)
Схема реализации защиты (41-42)
Многопроцессорные ВС (42-47)
Средства виртуализации ВС(47-48)
Мультипроцессорные ОС (48-49)
Средства взаимодействия в многомашинных ВС (50)
Взаимодействия в распределенных ВС (51)