
- •Тема 5. Распределенные операционные
- •Тема 5. Распределенные операционные
- •5.1. Недостатки сосредоточенных и изолированных систем
- •5.1. Недостатки сосредоточенных и изолированных систем
- •5.2. Понятие компьютерной сети. Преимущества объединения
- •5.2. Понятие компьютерной сети. Преимущества объединения
- •5.3. Терминология компьютерных сетей
- •5.3.Терминология компьютерных сетей
- •2. Логическая топология сети определяет путь прохождения сигналов от одного компьютера к другому.
- •4. Компьютеры сети
- •4. Компьютеры сети
- •5. Клиенты, рабочие станции, хосты, узлы
- •5. Клиенты, рабочие станции, хосты, узлы
- •6. Сетевая коммуникационная аппаратура
- •6. Сетевая коммуникационная аппаратура
- •Модель OSI (Open System Interconnection)
- •Модель OSI (Open System Interconnection)
- •Коммутаторы – устройства объединения подсетей (сетей) на
- •5.4. Сетевые и распределенные операционные системы
- •5.4. Сетевые и распределенные операционные системы
- •5.4. Сетевые и распределенные операционные системы
- •5.4.Сетевые и распределенные операционные системы
- •5.4. Сетевые и распределенные операционные системы
- •5.4. Сетевые и распределенные операционные системы
- •5.4. Сетевые и распределенные операционные системы
- •5.4. Сетевые и распределенные операционные системы
- •5.5. Сетевые службы и сетевые сервисы
- •5.5. Сетевые службы и сетевые сервисы
- •5.6.Одноранговые и серверные операционные системы
- •5.6.Одноранговые и серверные операционные системы
- •5.6.Одноранговые и серверные операционные системы
- •5.6. Одноранговые и серверные операционные системы
- •5.7.Служба каталогов сетевых серверных ОС
- •5.7. Служба каталогов сетевых серверных ОС
- •5.7. Служба каталогов сетевых серверных ОС
- •5.7. Служба каталогов сетевых серверных ОС
- •5.7. Служба каталогов сетевых серверных ОС
- •5.7. Служба каталогов сетевых серверных ОС
- •5.7. Служба каталогов сетевых серверных ОС
- •Рабочая группа
- •5.7.2. Архитектура Active Directory
- •5.7.2. Архитектура Active Directory
- •5.7.2. Архитектура Active Directory
- •5.7.2. Архитектура Active Directory
- •Клиенты
- •Архитектура Active Directory
- •Архитектура Active Directory
- •Архитектура Active Directory
- •Архитектура Active Directory
- •Архитектура Active Directory
- •Архитектура Active Directory
- •Компоненты Active Directory
- •Компоненты Active Directory
- •Active Directory
- •Компоненты Active Directory
- •Компоненты Active Directory
- •Дерево доменов
- •Компоненты Active Directory
- •Компоненты Active Directory
- •Лес доменов
- •Управление доменами, ОП, пользователями и компьютерами
- •Управление доменами, ОП, пользователями и компьютерами
- •Управление доменами, ОП, пользователями и компьютерами
- •Управление доменами, ОП, пользователями и компьютерами
- •Управление доменами, ОП, пользователями и компьютерами
- •Управление доменами, ОП, пользователями и компьютерами
- •5.7.3. Контроллеры домена и сайты
- •5.7.3.Контроллеры домена и сайты
- •5.7.3. Контроллеры домена и сайты
- •5.7.3. Контроллеры домена и сайты
- •5.7.3.Контроллеры домена и сайты
- •5.7.3.Контроллеры домена и сайты
- •5.7.3.Контроллеры домена и сайты
- •5.7.3.Контроллеры домена и сайты
- •5.7.3. Контроллеры домена и сайты
- •Один домен с несколькими сайтами
- •Доступ и распространение данных Active Directory. Протоколы и репликация
- •Доступ и распространение данных Active Directory. Протоколы и репликация
- •Доступ и распространение данных Active Directory. Протоколы и репликация
- •5.7.4. Управление объектами Active Directory
- •5.7.4. Управление объектами Active Directory
- •Операционные сист
- •5.8. Концепции распределенной обработки в сетевых ОС
- •5.8.1. Модели распределенных приложений
- •5.8.1. Модели распределенных приложений
- •5.8.1. Модели распределенных приложений
- •5.8.1. Модели распределенных приложений
- •5.8.1. Модели распределенных приложений
- •5.8.1. Модели распределенных приложений
- •5.8.1. Модели распределенных приложений
- •5.8.2. Передача сообщений в распределенных системах
- •5.8.2. Передача сообщений в распределенных системах
- •5.8.2. Передача сообщений в распределенных системах
- •5.8.2. Передача сообщений в распределенных системах
- •Компьютер 1
- •5.8.2. Передача сообщений в распределенных системах
- •5.8.2. Передача сообщений в распределенных системах
- •5.8.2. Передача сообщений в распределенных системах
- •Выполнение
- •5.8.3. Вызов удаленных процедур
- •5.8.3. Вызов удаленных процедур
- •5.8.3.Вызов удаленных процедур
- •Механизм RPC достигает прозрачности за счет использования клиентского и серверного стаба, организующих передачу
- •5.8.3. Вызов удаленных процедур
- •5.8.3. Вызов удаленных процедур
- •5.8.3. Вызов удаленных процедур
- •5.8.3. Вызов удаленных процедур
- •5.8.3. Вызов удаленных процедур
- •5.8.3. Вызов удаленных процедур
- •5.8.3. Вызов удаленных процедур
- •5.7.4. Сетевые файловые системы
- •5.7.4. Сетевые файловые системы
- •5.7.4.Сетевые файловые системы
- •5.7.4. Сетевые файловые системы
- •5.7.4. Сетевые файловые системы
- •5.7.4. Сетевые файловые системы
- •Приложения
- •5.7.4.Сетевые файловые системы
- •5.7.4. Сетевые файловые системы
- •5.7.4. Сетевые файловые системы
- •5.7.4.Сетевые файловые системы
- •5.7.4. Сетевые файловые системы
- •5.7.4.Сетевые файловые системы
- •Протокол SMB (Server Message Block – MS, Intel, IBM). Работает на прикладном уровне,

5.8.3. Вызов удаленных процедур
Иногда в подсистеме обмена сообщениями выделяется программный модуль, организующий связь стабов с примитивами передачи сообщений, называемый модулем RPCRuntime.
Подобно оригинальной процедуре, клиентский стаб вызывается путем обычной передачи параметров через стек, однако затем вместо выполнения системного вызова, работающего с локальным ресурсом, происходит формирование сообщения, содержащего имя вызываемой процедуры и ее параметры. Эта операция называется операцией упаковки параметров.
После этого клиентский стаб обращается к примитиву send для передачи этого сообщения удаленному компьютеру, на который помещена реализация оригинальной процедуры.
Операционные сист |
111 |
емы |
|

5.8.3. Вызов удаленных процедур
Для получения сообщения серверный стаб должен предварительно вызвать примитив receive, чтобы ядро знало, для кого пришло сообщение.
Получив из сети сообщение, ядро ОС удаленного компьютера вызывает серверный стаб, который извлекает из сообщения параметры вызова, имеющиеся в сообщении, и обычным образом вызывает оригинальную процедуру, передавая ей параметры через стек.
После окончания работы процедуры серверный стаб упаковывает результат ее работы в новое сообщение и с помощью примитива send передает сообщение по сети клиентскому стабу, а тот возвращает обычным образом результат и управление вызывающей процедуре.
Ни вызывающая, ни оригинальная процедуры не изменились от того, что они стали работать на разных
компьютерах. |
Операционные сист |
112 |
|
емы

5.8.3. Вызов удаленных процедур
Стабы могут генерироваться вручную или автоматически.
В первом случае программист использует средства, предоставляемые ему разработчиком средств RPC, но это достаточно объемная работа.
При автоматическом способе применяется специальный язык определения интерфейса (Interface Definition Language), с помощью которого программист описывает интерфейс между клиентом и сервером RPC.
Процедура, устанавливающая взаимодействие между удаленной процедурой и вызывающей программой, называется
связыванием (binding).
Непостоянное связывание (nonpersistent binding) означает, что логическая связь между двумя процессами устанавливается во время вызова удаленной процедуры и
немедленно уничтожается после получения возвращаемого |
||
значения. |
Операционные сист |
113 |
емы |
|

5.8.3. Вызов удаленных процедур
Поскольку соединение требует поддержки информации о состоянии на обоих концах, оно потребляет ресурсы. Поэтому непостоянное связывание позволяет эти ресурсы сэкономить. Однако при этом возникают излишние накладные расходы по установлению связывания при каждом вызове процедуры, если такие вызовы осуществляются часто.
При постоянном связывании (persistent binding) установленная при вызове процедуры связь не уничтожается после окончания вызова. Поэтому она может использоваться и для других вызовов удаленных процедур.
Если в течение предопределенного времени не осуществляется ни один вызов, такая связь с целью экономии ресурсов разрывается.
Вызовы удаленных процедур могут быть синхронными и асинхронными.
Операционные сист |
114 |
емы |
|

5.8.3. Вызов удаленных процедур
Традиционный вызов - синхронный, при котором вызывающий процесс ожидает, пока вызываемый процесс не вернет результирующее значение, т. е. синхронный RPC ведет себя так же, как и обычный вызов процедуры.
Синхронный RPC прост для понимания и программирования, поскольку его поведение предсказуемо. Однако такой вызов не позволяет в полной мере использовать возможность параллельных вычислений в распределенных приложениях и может привести к снижению производительности.
Для обеспечения большей гибкости и большей степени параллельности реализуются различные варианты асинхронного RPC, сохраняющие простоту и удобство традиционных вызовов удаленных процедур.
Операционные сист |
115 |
емы |
|

5.8.3. Вызов удаленных процедур
Асинхронные вызовы не блокируют вызывающую программу. Ответ может быть получен вызывающей программой тогда, когда он ей потребуется, так что клиент может продолжать работу параллельно с обработкой его запроса сервером.
Обычно асинхронный RPC используется для того, чтобы позволить клиенту сделать несколько запросов к серверу, каждый со своим набором данных, не дожидаясь его ответов.
Синхронизация клиента и сервера при этом может быть выполнена одним из двух способов:
1.Приложение-клиент дожидается ответа на все отправленные запросы.
2.По окончании выполнения последовательности асинхронных RPC клиент выполняет синхронный вызов удаленной процедуры. Сервер ответит на синхронный вызов только после
окончания обработки всех предшествующих асинхронных
Операционные сист 116
вызовов. емы

5.7.4. Сетевые файловые системы
Важнейший компонент любой распределенной системы - файловая система, которая в этом случае также является распределенной.
Как и в централизованных системах, функцией файловой системы является хранение программ и данных и предоставление клиентам доступа к ним.
Распределенная файловая система поддерживается одним или более компьютерами, хранящими файлы. Файловые серверы обычно содержат иерархические файловые системы, каждая из которых имеет корневой каталог и каталоги более низких уровней.
Во многих сетевых файловых системах клиентский компьютер может подсоединять и монтировать эти файловые системы к своим локальным файловым системам, обеспечивая пользователю удобный доступ к
удаленным каталогам и файлам.
Операционные сист 117
емы

5.7.4. Сетевые файловые системы
При этом данные монтируемых файлов никуда не перемещаются физически, оставаясь на серверах.
С программной точки зрения распределенная файловая система (ФС) - это сетевая служба, включающая программы-серверы и программы-клиенты, взаимодействующие между собой по определенному протоколу.
Файловая служба в распределенных файловых системах имеет две функционально различные части: собственно файловую службу и службу каталогов файловой системы.
Первая имеет дело с операциями над отдельными файлами, такими как чтение, запись или добавление (изменение), а вторая - с созданием каталогов и управлением ими, добавлением и удалением файлов из каталогов и т. п.
Операционные сист |
118 |
емы |
|

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

5.7.4. Сетевые файловые системы
Элементы сетевой файловой системы:
1.Локальные файловые системы.
2.Интерфейсы локальной файловой системы.
3.Серверы сетевой файловой системы.
4.Клиенты сетевой файловой системы (программы, работающие на компьютерах, подключенных к сети).
5.Интерфейс сетевой файловой системы.
6.Протокол клиент-сервер сетевой файловой системы
Клиенты сетевой ФС - это программы, работающие на многочисленных компьютерах, подключенных к сети. Эти программы обслуживают запросы приложений на доступ к файлам, хранящимся на удаленных компьютерах.
Операционные сист |
120 |
емы |
|