- •Оглавление
- •1.Компоненты сетевого по
- •2. Функции и характеристики системного сетевого по:
- •3. Уровни поддержки сетевых вычислений операционными системами.
- •4. Вычисления в архитектуре клиент-сервер. Классы приложения клиент-сервер.
- •5.Передача сообщений в сетевых системах. Синхронизация процессов при передачи сообщений.
- •6. Буферизация при синхронном и асинхронном взаимодействии процессов.
- •7. Способы адресации при передаче сообщений.
- •8. Надёжные и ненадёжные примитивы передачи сообщений:
- •9. Конвейеры (программные каналы).
- •10. Концепция вызова удалённых процедур.
- •11 И 12. Вопросы согласования времени в сетевых системах.Алгоритм синхронизации часов в сетевых системах.
- •13. Именование в сетевых системах.
- •14 И 15. Взаимное исключение в сетевых системах.
- •16 И 17.Распределённая взаимоблокировка. Виды распределённых взаимоблокировок. Методы предотвращения взаимоблокировок.
- •18. Репликация данных. Согласование реплик. Варианты внесения изменений в репликационные данные.
- •19. Кластерная обработка. Методы кластеризации.
- •20.Миграция процессов. Механизмы переноса процессов.
- •21. Организация доступа к удалённым данным. Доступ данных, основанный на документах.
- •22. Модели хранения информации в файловых системах. Надёжность и непротиворечивость файловых систем.
- •23. Организация доступа к удалённым данным. Доступ, основанный на файловой системе. Модели переноса.
- •24. Принципы построения сетевых файловых систем.
10. Концепция вызова удалённых процедур.
Идея вызова удаленных процедур (Remote Procedure Call - RPC) состоит в расширении хорошо известного и понятного механизма передачи управления и данных внутри программы, выполняющейся на одной машине, на передачу управления и данных через сеть. Средства удаленного вызова процедур предназначены для облегчения организации распределенных вычислений. Наибольшая эффективность использования RPC достигается в тех приложениях, в которых существует интерактивная связь между удаленными компонентами с небольшим временем ответов и относительно малым количеством передаваемых данных. Такие приложения называются RPC-ориентированными.
Характерными чертами вызова локальных процедур являются:
-
Асимметричность, то есть одна из взаимодействующих сторон является инициатором;
-
Синхронность, то есть выполнение вызывающей процедуры при останавливается с момента выдачи запроса и возобновляется только после возврата из вызываемой процедуры.
Реализация удаленных вызовов существенно сложнее реализации вызовов локальных процедур. Начнем с того, что поскольку вызывающая и вызываемая процедуры выполняются на разных машинах, то они имеют разные адресные пространства, и это создает проблемы при передаче параметров и результатов, особенно если машины не идентичны. Так как RPC не может рассчитывать на разделяемую память, то это означает, что параметры RPC не должны содержать указателей на ячейки нестековой памяти и что значения параметров должны копироваться с одного компьютера на другой. Следующим отличием RPC от локального вызова является то, что он обязательно использует нижележащую систему связи, однако это не должно быть явно видно ни в определении процедур, ни в самих процедурах. Удаленность вносит дополнительные проблемы. Выполнение вызывающей программы и вызываемой локальной процедуры в одной машине реализуется в рамках единого процесса. Но в реализации RPC участвуют как минимум два процесса - по одному в каждой машине. В случае, если один из них аварийно завершится, могут возникнуть следующие ситуации: при аварии вызывающей процедуры удаленно вызванные процедуры станут "осиротевшими", а при аварийном завершении удаленных процедур станут "обездоленными родителями" вызывающие процедуры, которые будут безрезультатно ожидать ответа от удаленных процедур.
Кроме того, существует ряд проблем, связанных с неоднородностью языков программирования и операционных сред: структуры данных и структуры вызова процедур, поддерживаемые в каком-либо одном языке программирования, не поддерживаются точно так же во всех других языках.
11 И 12. Вопросы согласования времени в сетевых системах.Алгоритм синхронизации часов в сетевых системах.
Есть физическое земное время (UTC). ГЛОНАСС, GPS, GEOS – эти службы получают сигналы UTC. Точность зависит от связи, радио - 10 мс, спутник – до 1 мс у GPS, и 100 мс у GEOS.
Кроме UTC у каждого узла есть свои часы (таймер), на основе кварцевого осциллятора. Точность зависит от температуры, и примерно равна мс.
Время критично при распределении ресурсов сети, в банковских системах, в средах программирования.
Кроме такого времени есть ещё логическое время. В нём важно, чтобы был правильным порядок событий.
Алгоритмы синхронизации часов в распределённых системах (небольшие сети):
- с использованием приёмника UTC;
- без использования приёмника UTC. Используются часы, которые есть в системе.
Алгоритмы крупномасштабной синхронизации – тут используются специальные сетевые протоколы времени, например, NTP – используется три уровня иерархии:
1) первичные серверы NTP - серверы с приёмником UTC;
2) серверы, связанные с первичными;
3) серверы, получающие сигналы со второго уровня мультивещательной рассылкой.