Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Lekcii_RSOI.doc
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
400.38 Кб
Скачать

4.5.Алгоритм Крестиана

Одна из машин имеет приемник коротких импульсов в начале каждой секунды от радиостанции с позывными wwv(штат Колорадо, США). Такие приемники – wwv-приемники. Эту машину называют сервером времени. А машины, работающие в рамках 2ρ запрашивают периодически сервер времени за метками времени. И здесь есть 2 момента:

  1. Чтобы запросить нужно время. Но один из вариантов приема: поделить время на ответ пополам и прибавить к полученному.

  2. Если часы отстают, то мы их доставляем. А вот если часы спешат, то мы их должны ставить назад. А это не допустимо. Тогда мы не одномоментно подстраиваем часы, а растягиваем это во времени, просто замедляя их ход.

4.6.Алгоритм Беркли

Там сервер на рассылает эти метки времени. А у него есть демон времени, который периодически в фоновом режиме опрашивает все машины о времени. Дальше вычисляет среднее и когда его спрашивают о времени, он его и выдает. В такой машине wwv-приемника нет.

4.7.Логические часы. Алгоритм Лампорта.

Есть ситуации, когда важно нет точное время выполнения процесса, а точная последовательность выполнения. Для таких случаев используют достаточно часто алгоритм Лампорта синхронизации логических часов.

Лампорт определил отношение: «Происходит раньше». Оно обозначается: a  b. Это значит, что все процессы согласны, что событие а происходит первым, а все остальные за ним. Если это в одном процессе, то вообще это отношение выполняется.

Если процесс посылает сообщение, а второй процесс это сообщение принимает, то это отношение тоже выполняется. Это отношение транзитивное. В этом алгоритме каждому событию a ставится метка времени C(a). Эта метка должна быть принята как достоверно правильная всеми процессами. То есть если действительно a  b, то C(a) < C(b).

Будем передавать сообщения.

Передачи метки времени.

Рис. 4.26.

Коррекция: b ставится метка 201. А если часы шли вперед, то метка так и принимается. И так все события расставляются в последовательности.

4.8.Жизненный цикл объекта

Жизненный цикл объекта.

Рис. 4.27.

Фабрика классов.

Рис. 4.28.

Найти фабрику можно с помощью искания (?) фабрики.

Поиск фабрик классов.

Рис. 4.29.

Служба именования получа(?)ет и на исх.(?) ему говорят «Найти Team Factory».

  1. 1.

  2. Инициализация vars.

Брокер объектных заявок .

Функции фабрики выполняет переносимый объектный адаптер. В Java-интерфейсы активации (naming – bind()).

Универсальные фабрики.

4.9.Миграция объектов на удаленный хост

Под объектной миграцией понимаем копирование/перемещение объекта-сервера с одной машины на другую. При копировании создается новый объект, создается новая ссылка. При перемещении ссылка сохраняется.

Пример полезности- перемещение объектов - перераспределение нагрузки.

Как можно представить последовательность действий:

Hite(?)CycleObject

Транспорт. объект -> найти с помощью исх. фабрики хост, на котором надо разместить новый объект. Затем удалить себя. (см. ?) Ссылка остается прежней.

Когда клиент обращается по ссылке – см. предыдущую лекцию.

Размещение объекта.

Рис. 4.30.

Для клиента перемещение прозрачно. Но для разраб…

Есть так называемые ? системы, в которых все это уже реализовано. ? объекта – см. сборку мусора.

5.OMG и CORBA

1989 – Object Management Group – общество. Задача: создание технологии, позволяющей объединить приложения, выполняемые на различных программных и аппаратных платформах, выполняемые в разных потоках, написанных на различных языках программирования, созданных в разных уголках мира.

  1. Результат: набор спецификаций, а не готовый продукт.

  2. В качестве идеологии решено было использовать ООП-подход.

OMG занимается только стандартами и принципиально не разрабатывает готовые продукты.

OMG не навязывает свои стандарты, они сделали такой стандарт, который использовать удобно.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]