Главная Случайная страница


Полезное:

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


Категории:

АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника






Физическое время





Рассмотрим пример: пусть на нескольких компьютерах (клиентах) располагаются директории с файлами – списки товаров, на сервере – сводная директория, которая периодически обновляется. Приложение, расположенное на сервере, просматривает директории других компьютеров со списками товаров и, если

tсервера > tпоследнего обновления клиента > tпоследнего обновления сервера

то приложение переписывает этот файл в сводную директорию.

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

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

Вследствие этого приложение, описание работы которого приведено выше, будет работать некорректно. Действительно, пусть на одном из компьютеров процессное время имеет отметку 234 и в этот момент времени произошло обновление файла (tпоследнего обновления клиента). Сервер начинает работу по обновлению своего списка, но отметка времени при этим tсервера = 232- Таким образом, уже обновленный файл на клиенте сервером не будет замечен (приведенное выше условие) не выполняется. Следовательно, приложение будет работать некорректно.

Для синхронизации физического времени существуют различные алгоритмы, в том числе, алгоритмы Кристиана, Беркли, усредняющие алгоритмы.

Если в алгоритме Кристиана сервер времени пассивен (другие компьютеры периодически запрашивают у него время), он только лишь отвечает на запросы. В операционной системе UNIX разработки университета Беркли (Berkeley) принят прямо противоположный подход. Здесь сервер времени активен, он опрашивает каждую из машин. На основании ответов он вычисляет среднее время и предлага­ет всем машинам установить их часы на новое время или замедлить часы, пока не будет достигнуто необходимое уменьшение значения времени на сильно ушед­ших вперед часах. Этот метод применим для систем, не имеющих машин с прием­ником WWV. Время демона может периодически выставляться вручную опера­тором.

 







Date: 2015-09-18; view: 453; Нарушение авторских прав



mydocx.ru - 2015-2024 year. (0.007 sec.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав - Пожаловаться на публикацию