Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Конспект лекций 1.doc
Скачиваний:
3
Добавлен:
01.05.2025
Размер:
786 Кб
Скачать
☆

1.5. Дополнительные свойства распределенных систем

Кроме перечисленных РПС для обеспечения корректной работы должны обладать следующими свойствами:

  • отказоустойчивость – способность системы восстанавливать свою работоспособность после сбоев;

  • безопаснтность – обеспечение сохранности и целостности данных, защищенности данных и коммуникаций.

1.5.1. Отказоустойчивость.

При совместной работе нескольких компонент работающих на разных машинах необходимо обеспечить работоспособность всей системы даже при сбоях одного из компонентов или коммуникаций между ними. Это достигается за счет максимальной независимости компонент и восстановления компонент после сбоев.

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

Еще важнее для распределенных систем уметь восстанавливаться после сбоев. Уровни этого восстановления могут быть различными. Обычно данные одного короткого сеанса работы считается возможным не восстанавливать, поскольку такие данные часто малозначимы или легко восстанавливаются (иначе стоит серьезно рассмотреть необходимость восстановления сеансов). Но так называемые постоянно хранимые (persistent) данные чаще всего требуется восстанавливать в их последнем непротиворечивом состоянии.

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

Сохранность и целостность данных. При обеспечении групповой работы многих пользователей с одними и теми же данными нужно обеспечивать:

  • сохранность - предотвращать исчезновение данных, введенных одним из пользователей;

  • целостность - непротиворечивость, выполнение всех присущих данным ограничений.

1.5.2. Безопаснтность.

Защищенность данных и коммуникаций. При работе удаленных пользователей с распределенными системами необходимо защитить ее от несанкционированного доступа к информации, как постоянно хранящейся в системе на устройствах хранения, так и информации одного сеанса работы, передаваемой по каналам связи.

Для распределенных систем обеспечить защищенность гораздо сложнее, поскольку нельзя физически изолировать все элементы системы и разрешить доступ к ней только проверенным и обладающим необходимыми знаниями и умениями людям.

1.6. Проблемы создания распределенных систем

Распределенный характер таких систем и необходимость обеспечения всех перечисленных свойств ставит перед разработчиком следующие проблемы:

  1. Сложность. Намного труднее понять и оценить свойства распределенных систем в целом, их сложнее проектировать, тестировать и обслуживать. Также производительность системы зависит от скорости работы сети, а не отдельных процессоров. Перераспределение ресурсов может существенно изменить скорость работы системы.

  2. Безопасность. Обычно доступ к системе можно получить с нескольких разных машин, сообщения в сети могут просматриваться и перехватываться. Поэтому в распределенной системе намного труднее поддерживать безопасность.

  3. Управляемость. Система может состоять из разнотипных компьютеров, на которых могут быть установлены различные версии операционных систем. Ошибки на одной машине могут распространиться непредсказуемым образом на другие машины.

  4. Непредсказуемость. Реакция распределенных систем на некоторые события непредсказуема и зависит от полной загрузки системы, ее организации и сетевой нагрузки. Так как эти параметры могут постоянно изменятся, поэтому время ответа на запрос может существенно отличаться.

Для решения перечисленных проблем при проектировании и разработки РПС приходится решать следующие основные задачи:

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

  • Организация связи. Организация связи и передачи данных между компонентами системы.

  • Идентификация компонентов. Поддержка идентификации и поиска отдельных ресурсов внутри системы.

  • Процессы. Организация работ в рамках процессов и потоков.

  • Синхронизация. Синхронизация параллельно выполняемых потоков работ.

  • Целостность. Поддержка целостности данных и непротиворечивости вносимых изменений.

  • Отказоустойчивость. Организация отказоустойчивой работы.

  • Защита. Организация защищенности данных и коммуникаций.

Во много решение данных задач зависит от аппаратной части и системного программного обеспечения, на котором предполагается работа РПС.