ВУЗ:
Составители:
Рубрика:
19
2.5 Клиент-серверная модель и распределенные вычисления
Компоненты сетевого ПО являют собой типичный пример клиент-
серверных приложений - в каждый момент времени один из процессов (вы-
ступающий при этом в роли клиента) запрашивает некоторые сервисные
функции (например, требование связаться по сети с удаленной ЭВМ) у дру-
гого, последний же предоставляет требуемый
сервис (является сервером); во
многих случаях в зависимости от ситуации процессы могут меняться функ-
циями.
Заметим, что процесс-клиент и процесс-сервер могут исполняться как на
одной и той же ЭВМ, так и на разных (соединенных) сетью ЭВМ. Каждая
многозадачная ОС имеет специфические средства обеспечения взаимодейст-
вия ‘клиент-сервер’ [2].
Итак,
основная идея модели ‘клиент-сервер’ состоит в разделении ПО на
несколько процессов, каждый из которых реализует специфический набор
сервисов: например, распределение памяти, создание процесса или планиро-
вание процессов. Каждый сервер (server) выполняется в пользовательском
режиме, проверяя в цикле, не обратился ли к нему с требованием обслужи-
вания какой-либо клиент
(client). Клиент (которым может быть другой ком-
понент ОС) или прикладная программа, запрашивает выполнение сервиса,
посылая серверу сообщение. Ядро ОС (выполняющееся в режиме ядра), дос-
тавляет сообщение серверу; последний выполняет запрашиваемые действия,
после чего ядро ОС возвращает клиенту результаты в составе другого сооб-
щения.
Преимущество построения ПО на принципе клиент-
серверного подхода
состоит в автономизации отдельных компонентов ПО - каждый компонент
имеет ограниченный размер, выполняется как отдельный процесс пользова-
тельского режима, авария (приводящая, возможно, к перезапуску процесса)
одного из них не нарушает работы остальных компонентов ПО. Именно на
таком принципе построены практически все известные операционные систе-
мы.
Важно, что различные серверные процессы
могут выполняться на различ-
ных процессорах многопроцессорного компьютера или даже на разных ком-
пьютерах, что делает построенную на клиент-серверной основе ОС пригод-
ной для распределенных вычислительных сред. В случае распределенной ОС
клиентам даже не требуется знать, обслуживается их запрос локально (на
данной ЭВМ) или удаленно.
В Windows’NT средства обмена сообщениями
между распределенными
(часто выполняющимися на различных компьютерах в сети) приложениями
обеспечивает (путем поддержки сетевого транспорта и защиты) служба се-
тевого обмена данными (DDE, Dynamic Data Exchange); также поддержива-
2.5 Клиент-серверная модель и распределенные вычисления
Компоненты сетевого ПО являют собой типичный пример клиент-
серверных приложений - в каждый момент времени один из процессов (вы-
ступающий при этом в роли клиента) запрашивает некоторые сервисные
функции (например, требование связаться по сети с удаленной ЭВМ) у дру-
гого, последний же предоставляет требуемый сервис (является сервером); во
многих случаях в зависимости от ситуации процессы могут меняться функ-
циями.
Заметим, что процесс-клиент и процесс-сервер могут исполняться как на
одной и той же ЭВМ, так и на разных (соединенных) сетью ЭВМ. Каждая
многозадачная ОС имеет специфические средства обеспечения взаимодейст-
вия ‘клиент-сервер’ [2].
Итак, основная идея модели ‘клиент-сервер’ состоит в разделении ПО на
несколько процессов, каждый из которых реализует специфический набор
сервисов: например, распределение памяти, создание процесса или планиро-
вание процессов. Каждый сервер (server) выполняется в пользовательском
режиме, проверяя в цикле, не обратился ли к нему с требованием обслужи-
вания какой-либо клиент (client). Клиент (которым может быть другой ком-
понент ОС) или прикладная программа, запрашивает выполнение сервиса,
посылая серверу сообщение. Ядро ОС (выполняющееся в режиме ядра), дос-
тавляет сообщение серверу; последний выполняет запрашиваемые действия,
после чего ядро ОС возвращает клиенту результаты в составе другого сооб-
щения.
Преимущество построения ПО на принципе клиент-серверного подхода
состоит в автономизации отдельных компонентов ПО - каждый компонент
имеет ограниченный размер, выполняется как отдельный процесс пользова-
тельского режима, авария (приводящая, возможно, к перезапуску процесса)
одного из них не нарушает работы остальных компонентов ПО. Именно на
таком принципе построены практически все известные операционные систе-
мы.
Важно, что различные серверные процессы могут выполняться на различ-
ных процессорах многопроцессорного компьютера или даже на разных ком-
пьютерах, что делает построенную на клиент-серверной основе ОС пригод-
ной для распределенных вычислительных сред. В случае распределенной ОС
клиентам даже не требуется знать, обслуживается их запрос локально (на
данной ЭВМ) или удаленно.
В Windows’NT средства обмена сообщениями между распределенными
(часто выполняющимися на различных компьютерах в сети) приложениями
обеспечивает (путем поддержки сетевого транспорта и защиты) служба се-
тевого обмена данными (DDE, Dynamic Data Exchange); также поддержива-
19
Страницы
- « первая
- ‹ предыдущая
- …
- 17
- 18
- 19
- 20
- 21
- …
- следующая ›
- последняя »
