Аллегория «Бассейн».
Лучше всего проблемы систем синхронизации понятны на аллегории «бассейна», известной любому, знакомому с курсом математики начальной школы. На рис. 3.1. представлен бассейн с двумя трубами, одна из которых его
F1
Кран 1
Уровень виски
F2
Пробка Кран 2
Информация о скорости слива F2
Рис. 3.1. Аллегория «бассейна».
наполняет, а другая – опоражнивает. Скорость налива – F1 , скорость слива F2, и пусть F1 > F2, так что бассейн постоянно наполняется. У бассейна дежурит человек, который имеет цепь, привязанную к пробке бассейна. Когда бассейн полностью заполнится, человек выдергивает пробку, и вся вода сливается в сток.
Усложним теперь эту задачу. Пусть в кранах теперь течет виски, потеря которого не желательна, а у управляющего две цепочки в руках. Когда F1 > F2, и бассейн переполняется, он должен выдернуть пробку и виски выливается наружу. Если же F1 < F2, то бассейн постепенно опустошается, и скоро неминуемо кран 2 начнет засасывать воздух, что может испортить систему. Чтобы этого не произошло, управляющий имеет резервуар с водой и может дополнять ею бассейн. На выходе мы получим разбавленный виски, но система будет спасена.
Все решения проблемы должны осуществляться вокруг бассейна и двух кранов. На самом деле легко понять, что проблема синхронизации в своей основе не так уж и сложна. Например, можно передавать от крана 2 к крану 1 информацию о скорости слива и пытаться подстроить скорость налива F1 по F2. Можно поступить наоборот, пытаясь выровнять F2 по скорости F1. Однако, добиться идеального совпадения F1 и F2 не возможно, так что рано или поздно придется действовать управляющему.
Теперь от аллегории перейдем к рассмотрению вопросов синхронизации, установив сначала соответствия с аллегорией. Передатчик и приемник информации будут соответствовать кранам 1 и 2, бассейн – эластичному буферу, виски – полезной информации, передаваемой по системе передачи, а вода – служебной информации. Управляющий – системе управления проскальзываниями эластичного буфера. Рассмотрим самое важное понятие в системе синхронизации – понятие проскальзываний.
Дата добавления: 2015-04-15; просмотров: 1166;