Распределенные системы История До 1985-го Основные изменения малое количество компьютеров в организации слабое развитие сетей увеличение производительности и снижение стоимости процессоров активное развитие сетей Сегодняшний день большое количество компьютеров объединение их в сеть создание распределенных систем Определение (Таненбаум) Распределенная система (distributed system) – набор независимых компьютеров, представляющихся пользователю единой системой Определение (Microsoft) Распределенная система (distributed system) – децентрализованная сеть, состоящая из множества объединенных компьютеров, представляющихся пользователю единым, большим, доступным множеством распределенных аппаратных ресурсов, программного обеспечения и данных. Важные характеристики DS распределенность скрыта от пользователя; работа пользователя: совместность, единообразность; легкость масштабирования; устойчивость к сбоям. Организация DS Распределенная система организована в виде службы промежуточного уровня (middleware), распределенного среди множества компьютеров Задачи решаемые DS легкость подключения пользователя к ресурсам прозрачность открытость масштабируемость Подключение пользователя к ресурсам Распределение ресурсов Легкость доступа к удаленному ресурсу Управление общим доступом В качестве ресурса может быть принтер, компьютер, жесткий диск, файлы, и т.д. Кооперация и обмен информацией Почта, конференции, и т.д. Системы групповой работы (groupware) Электронная комерция Прозрачность Задача: скрыть факт распределения ресурсов и процессов по множеству компьютеров. Формы прозрачности Прозрачность Описание Доступ Скрывается разница в представлении данных и доступе к ресурсам Местоположение Скрывается местоположение ресурса Перенос Скрывается факт перемещения ресурса в другое место Смена местоположения Скрывается факт перемещения ресурса в процессе обработки в другое место Репликация Скрывается факт репликации ресурса Параллельный доступ Скрывается факт возможного совместного использования ресурса несколькими конкурирующими пользователями Отказ Скрывается отказ и восстановление ресурса Сохранность Скрывается место хранения программного ресурса (диск или память) Степень прозрачности Не всегда желательно полностью скрывать распределенность системы Нужно учитывать другие факторы, такие как быстродействие Открытость Система предлагает службы соответствующие определенным правилам Правила задают синтаксис и семантику служб Службы определяются через интерфейсы, используя Interface Definition Language (IDL) Описание интерфейса определяет функции, их параметры, возвращаемые значения, генерируемые исключения, и т.д. Семантика интерфейса. Определяет что делает служба. Способность к взаимодействию (interoperability) и переносимость (portability) Гибкость. Легкость конфигурирования системы, состоящей из различных компонентов, возможно от различных производителей. Отделение правил от механизмов Масштабируемость Типы масштабируемости По размеру (легкость добавления новых ресурсов и пользователей) Географическое масштабирование Административное масштабирование (легкость управления) Проблемы масштабируемости Концепция Пример Централизованные службы Один сервер на всех пользователей Централизованные данные Единый телефонный справочник Централизованные алгоритмы Маршрутизация на основе полной информации Примеры ограничений масштабируемости Технологии масштабирования Сокрытие времени ожидания связи Распределение Репликация Сокрытие ожидания времени связи Проверка данных формы в процессе заполнения а) на сервере; б) на клиенте. Распределение Разделение пространства DNS-имен на зоны Аппаратные решения Различные базовые организации процессоров и памяти распределенных компьютерных систем Мультипроцессоры (1) Мультипроцессорная система с шинной архитектурой Мультипроцессоры (2) а) коммутирующая решетка б) коммутирующая омега-сеть Гомогенные мультикомпьютерные системы а) решетка б) гиперкуб Описание распр. и сетевых ОС и ср-в промежуточного уровня Система Описание Основное назначение DOS Сильно связанные ОС для мультипроцессоров и гомогенных мультикомпьютерных систем Сокрытие и управление аппаратным обеспечением NOS Слабо связанная ОС для гетерогенных мультикомпьютерных систем Предоставление локальных служб удаленным клиентам Middleware Дополнительный слой поверх NOS реализующий службы общего назначения Обеспечение прозрачности распределения Однопроцессорная ОС Мультикомпьютерная ОС (1) Мультикомпьютерная ОС (2) Блокировка и буферизация сообщений Мультикомпьютерная ОС (3) Точка синхронизации Буфер отправителя Гарантия надежной связи Блокировка отправителя до опустошения буфера Да Нет необходимости Блокировка отправителя до отправки сообщения Нет Нет необходимости Блокировка отправителя до приема сообщения Нет Необходима Блокировка отправителя до обработки сообщения Нет Необходима Системы с разделяемой распределенной памятью a) b) c) Распределение страниц адресного пространства обращение CPU 1 к странице 10 Использование репликации если страница 10 только для чтения Системы с разделяемой распределенной памятью (2) Ошибочное разделение Сетевые ОС Общая структура сетевой ОС Позиционирование ПО промежуточного уровня Общая структура DS с ПО промежуточного уровня Промежуточный уровень и открытость В открытых DS одинаковыми должны быть как протоколы используемые ПО ПУ так и интерфейсы предоставляемые приложениям Сравнение систем характеристика Распределенные ОС Сетевые ОС DS пром. Ур-ня Мультипр. Мультикомп. Оч.Высокая Высокая Низкая Высокая Идентичность ОС на всех узлах + + - - Число копий ОС 1 N N N Коммуникации на основе Разделяема я память сообщения Файлы В завис. От модели Управление ресурсами Глобальное централ-е Глобальное, распред-ное На каждом узле На каждом узле Масштабируемость Отсутствует Умеренная Да Различная Закрытая Закрытая Открытая Открытая Степень прозрачности Открытость Взаимодействие клиент-сервер Уровни обработки Варианты архитектуры клиент-сервер Многозвенная архитектура Горизонтальное распределение