Синхронизация

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

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

Синхронизация в информационном понятии может относиться только либо к синхронизации процессов, либо к синхронизации имеющихся данных:

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

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

Для ее организации используют средства межпроцессного взаимодействия. Среди наиболее известных средств — сигналы и сообщения, семафоры и мьютексы, каналы (pipe) и совместно используемая память.

Способ синхронизации данных зависит от делаемых дополнительных предположений, потому что, независимо сделанные изменения могут быть несовместимы друг с другом (т. н. «конфликт изменений»), и даже теоретически не существует общего способа разрешения подобных ситуаций.

Но, есть ряд частных способов, применимых в некоторых случаях:

  • Предполагают, что изменения вносились лишь в одну из копий — «рабочую» — и другая копия просто перезаписывается ее содержимым. Этот способ реализуют большинство приложений синхронизации; в силу необратимости делаемых изменений пользователю дается выбор, какую копию считать «главной».
  • Если данные представляют собой набор независимых записей (т.е., любое сочетание записей является корректным — напр., телефонная книга), то можно просто объединить множества записей. Это ликвидирует риск потери информации, но чтобы удалить запись из набора, этот способ приходится сочетать с первым.
  • Если наборы синхронизируются неоднократно, можно автоматически вводить в них дополнительную служебную информацию: дата и время последнего изменения записи, пометки об удаленных записях, которые стираются после следующей синхронизации или через достаточно большое время. Этот подход используется, например, в некоторых почтовых программах.

Менеджер
Сафронова Екатерина
Ведущий специалист
+7 (495) 147-08-07
Консультация специалиста
Наш менеджер перезвонит вам в течение 5 минут
Менеджер
Хорошова Анастасия
Эксперт
+7 (495) 147-08-07
Оставить заявку
Наш специалист свяжется с вами в течение 5 минут
Оставить отзыв
Ваш отзыв опубликуется после модерации