Сервисы распределенных операционных систем
Распределенная система состоит из компьютеров, соединенных коммуникационной средой, например локальной сетью. В распределенной среде желательно обеспечить независимость сервисов от местоположения. Это значит, что компонент, желающий послать сообщение другому компоненту, не обязан знать, где находится адресат. При наличии службы именования сервер имен хранит имена глобальных сервисов. Предполагается, что местоположение самого сервера имен хорошо известно. Если клиент хочет получить доступ к некоторому сервису, он запрашивает информацию о нем у сервера имен.
Пример службы имен – это система доменных имен (DNS), используемая в сети Internet.
Связывание клиентов и серверов. Термин связывание относится к ассоциации между клиентом и сервером. Статическое связывание выполняется на этапе компиляции и означает, что все обращения клиента к серверу жестко «зашиты» в код.
Динамическое связывание производится во время выполнения. Оно характеризуется большей гибкостью, чем статическое, но меньшей эффективностью. Для динамического связывания необходимо указать имя сервера, который ведет справочник имен и адресов серверов. Каждый сервер регистрирует свое местоположение и предоставляемые сервисы у сервера имен. Клиент посылает запрос серверу имен, передавая имя серверного объекта, и получает ссылку на него. Затем эта ссылка используется для доступа к удаленному серверу.
Прозрачный обмен сообщениями между распределенными задачами можно реализовать с помощью распределенного ядра распределенной операционной системы. В тех распределенных приложениях, где число задач относительно постоянно, каждое распределенное ядро также может содержать собственную копию этой таблицы. На стадии начальной загрузки системы распределенное ядро посылает запрос серверу имен с просьбой загрузить таблицу имен.
Сервисы сокетов. Сокеты – это интерфейс прикладных программ (API), предоставляемый многими операционными системами. Он определяет набор операций, доступных приложению для организации обмена данными по сети с другим приложением по заданному протоколу, например TCP/IP.
Обмен сообщениями через порты. В некоторых распределенных системах обмен сообщениями между удаленными узлами реализован с помощью портов, что позволяет максимально ослабить связанность. Компонент (процесс или поток) в одном узле посылает сообщение, не указывая явно имя получателя, а задавая выходной порт. Компонент-получатель забирает сообщения из своего входного порта.
Дата добавления: 2022-05-27; просмотров: 73;