Синхронизация по времени


Синхронизация с внешними событиями

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

Обеспечение синхронизации возможно:

· При организации распределённой системы и использовании сетевых компонентов.

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

Синхронизация с внешними событиями используется для обеспечения алгоритма функционирования при распределении системы по разным вычислительным узлам.

Синхронность функционирования обеспечивается наличием общих характеристик вычислительных узлов системы.

Для реализации синхронизации с узлами, подключенными к внутренней шине вычислительного узла, используются 2 метода:

1. метод прерывания

2. метод опроса.

Метод прерывания более скоростной, но в нём большой поток лишней информации. Применяется для быстрых систем и систем с большой градацией приоритетов.

В методе опроса задача, которой нужна информация, отправляет запрос на другой вычислительный узел именно в тот момент, когда ей это необходимо. Уменьшается поток информации, но обычно этот метод используется для более медленных задач, так как метод опроса требует подтверждение. Запрос → ответ → готовность к приёму информации → передача информации → подтверждение приёма (необязательно).

Для этой цели задаётся квант времени. Он является эталонным измерителем и называется тиком. Фактически для операционной системы тик – это базовая единица измерения. Размер этого тика может быть различным для различных операционных систем и зависит от тех задач, которые в этой операционной системе исполняются. Размер тика определяется по таймеру, а также из механизма взаимодействия с таймером. Методы взаимодействия с таймером также могут быть различными в зависимости от операционной системы. Синхронизация задач по времени заключается в использовании этих таймеров. Таймеры бывают двух видов: программные и аппаратные. Количество аппаратных таймеров ограничено архитектурой вычислительного узла. Количество программных таймеров ограничено архитектурой операционной системы либо не ограничено. Одним из подвидов программных таймеров являются пользовательские таймеры. Пользовательский таймер – это некоторый счётчик и обработчик этого счётчика. Любой программный таймер основывается на аппаратных таймерах. Обычно на одном вычислительном узле бывает один аппаратный таймер, который функционирует по прерыванию. Для таймера существует понятие истечения таймера.

Рис. 28.

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