Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

СПОЛКС - материалы пак3 / Распределенные системы - синхронизация.odp

.pdf
Скачиваний:
23
Добавлен:
15.09.2014
Размер:
532.37 Кб
Скачать

Пример: Windows LMB

LMB — Local Master Browser

Windows Election Field

(smb.conf: Os Level)

Пример: Windows LMB

Windows 95/98 = 0x01000000

Windows NT/2000 Server = 0x20000000

PDC = 0x00000080

WINS System = 0x00000020

Preferred Master = 0x00000008

Running Master = 0x00000004

Чем больше номер — тем меньше шансов выиграть

Задержка:

Master Browser и PDC = 100 ms

Backup Browser & Controller = 200-600 ms

Все остальные «browsers»800 ms and 3000 ms= 800-3000 ms

Алгоритм маркерного кольца

Создается логическое кольцо, в котором каждому процессу назначен свой логический номер.

При инициализации кольца процесс 0 получает маркер (токен). Маркер циркулирует по кольцу.

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

Распределенный алгоритм

В этом алгоритме требуется наличие полной упорядоченности событий в системе (один из способов – алгоритм Лампорта).

1. Когда процесс собирается войти в критическую область, он создает сообщение, в котором указывает свой номер, имя критической области и текущее время. Затем это сообщение рассылается всем процессам.

2. При получении процессом сообщения с запросом алгоритм делится на 3 варианта

1)если получатель не находится в критической области и не собирается ее использовать, то отсылает сообщение OK

2)если получатель находится в критической области, то не отвечает, а помещает запрос в очередь

3)если получатель собирается войти в критическую область, но еще не сделал этого, он сравнивает метку времени пришедшего сообщения с меткой времени своего сообщения. Выигрывает минимальное. Если пришедшее сообщение имеет меньший номер, то получатель отвечает OK. Если же метка времени меньше на своем сообщении, то пришедшее сообщение ставится в очередь, при этом ничего не отсылается.

Распределенный алгоритм: Шаг 1

Распределенный алгоритм: Шаг 2

Распределенный алгоритм: Шаг 3

Сравнение алгоритмов взаимного исключения

Алгоритм

Число сообщений

Задержки

Возможные

 

на вход-выход

перед входом

проблемы

 

 

(в сообщениях

 

 

 

)

 

Централизованный

3

2

Сбой координатора

Распределенный

2*(n-1)

2*(n-1)

Сбой в одном из

 

 

 

процессов

Маркерного кольца

От 1 до ∞

От 1 до n-1

Потеря маркера,

 

 

 

сбой в одном из

 

 

 

процессов