Модель клиент/сервер
Структура исполнительной системы, защищенных подсистем и приложений выполнена в соответствии с вычислительной моделью клиент/сервер — общепринятой моделью распределенных вычислений, которая обсуждается в части 6, "Распределенные системы". Можно сказать, что эта структура внутренне присуща W2K.
Каждая подсистема среды и каждая исполнительная служебная подсистема реализуется в виде одного или нескольких процессов. Каждый процесс ожидает запроса клиента к одной из его служб (например, на обслуживание памяти, создание процесса и т.п.). Клиент, в роли которого может выступать программное приложение или другой модуль операционной системы, производит запрос посредством сообщения. Это сообщение передается соответствующему серверу через исполнительную систему. Сервер выполняет запрашиваемую операцию и возвращает результат или информацию о состоянии с помощью другого сообщения, которое через исполнительную систему передается клиенту.
К преимуществам модели клиент/сервер можно отнести следующие.8
• Благодаря этой модели упрощается исполнительная система. Можно разработать ряд API, не имеющих конфликтов или дублирования по отношению
к исполняющей системе. Новые API могут быть легко добавлены в систему.
• Эта модель способствует повышению надежности. Каждый модуль, реализующий сервис исполнительной системы, запускается в виде отдельного процесса,
которому отводится своя область памяти, защищенная от воздействия других,
модулей. Более того, клиент не может непосредственно обращаться к аппаратному обеспечению или изменять содержимое той области памяти, в которой находится исполнительная система. Сбой в работе одного из клиентов не приводит
к аварийному отказу или повреждению остальной части операционной системы.
• В этой модели приложениям с помощью локальных вызовов процедур предоставляются однотипные средства обмена информацией с исполнительной системой, что не приводит к потере гибкости. Процесс передачи сообщения скрыт от
.-клиента функциями-заглушками из динамически компонуемых библиотек. При вызове приложением API заглушка пересылает переданные при вызове параметры в виде сообщения подсистеме сервера, реализующей этот вызов.
• Эта модель является базой для распределенных вычислений. Обычно распределенные вычисления используют модель клиент/сервер, с реализацией
удаленных вызовов процедур посредством распределенных модулей клиентов и серверов, а также путем обмена сообщениями между клиентами и
серверами. В операционной системе W2K локальный сервер может передавать сообщение от локального приложения-клиента для обработки на удаленном сервере. Клиентам нет нужды иметь информацию о том, как обрабатываются их запросы — локально или удаленно, ведь способ обработки
может изменяться динамически в зависимости от загруженности систем и
от изменений конфигурации.
Дата добавления: 2016-06-05; просмотров: 1738;