Билет 4
Динамическое связывание. Семантика вызова удаленных процедур в случае отказов.
Семантика вызова удаленных процедур в случае отказов RPC
1. Клиент не может определить местонахождение сервера. Возвращ код ошибки.
2. Потерян запрос от клиента к серверу, через определенное время процесс поворяется.
3. Потеряно ответное сообщение от сервера.
Процедуры:
1. Идемпотентные (можно повторить без изменения результата).
2. Неидемпотентные.
Способы:
1) Приведение всех процедур к идемпотентному виду.
2) Последовательная нумерация всех запросов клиентским ядром.
3) Если сервер потерпел аварию после получения запроса:
· Повторное выполнение при восстановлении сервера
· Генерация сообщения об ошибках
4) Клиент потерпел аварию после отсылки запроса.
Вычисления (неожиданные) наз. Сиротами они могут:
· Уничтожаться
· перевоплощаться
В распределенных системах при межпроцессорном взаимодействии исп. динамическое связывание.
Его начальным моментом является формальное деление.
Спецификация содержит:
1. имя сервера
2. номер версии
3. список процедур и услуг.
Для каждой процедуры дается описание параметров с усл. Явл. Ли он вх./вых.отностельно сервера.
При запуске сервера его 1м действием явл. Передача своего интерфейса специальной программе «binder»- процесс регистрации сервера.
Регистрационная запись:
1. Имя сервера
2. Номер версии
3. Идентификатор
4. Описатель местонахождения
Билет 5 Проблема синхронизации процессов. Алгоритм логических часов.
Обеспечение синхронизации при отсутствии общей раздел. памяти делятс на 2 задачи:
1. Обеспечение по порядку
2. Реализация критических секций
Алгоритм логических часов.
Для синхронизации важно задание правильного порядка событий. Для этого ввод. Для 2х произвольных событий а и б соотношение «случилось до» а(R)б
Это отношение транзитивно а(R)б, б(R)с => а(R)с
Остается задача такого создания такого механического ведения времени, когда для каждого события а м.б. указано время Т(а), с кот. Согласны все процессы системы. Если а(R)б. то Т(а) < Т(б)
Время может корректироваться только в большую сторону.
Билет 6. Алгоритмы синхронизации взаимного исключения
1. Централизованный алгоритм
1й из процессов выбирается в качестве координатора. Когда к.л процесс хочет войти в критическую секцию он отправляет координатору запрос с номера секции если секция свободна – разрешено, иначе- разрешение отправляется после освобождения. Низкая отказоустойчивость.
2. Распределенный алгоритм
Когда к.л процесс хочет войти в критическую секцию, он формирует сообщение содерж. Имя нужной секции (номер и текущ. Значение времени). Оно отправляется всем др. процессам системы.
3. Алгоритм токен ринг.
Все процессы образуют логическое кольцо. На каждую секцию в конце генерируется токен, при захвате которого и можно использовать,