Модель клиент-сервер и микроядра

Модель клиент-сервер — это еще один подход к структурированию ОС. В широком смысле модель клиент-сервер предполагает наличие программного компонента — потребителя какого-либо сервиса — клиента, и программного компонента — поставщика этого сервиса — сервера. Взаимодействие между клиентом и сервером стандартизуется, так что сервер может обслуживать клиентов, реализованных различными способами и, может быть, разными производителями. При этом главным требованием является то, чтобы они запрашивали услуги сервера понятным ему способом. Инициатором обмена обычно является клиент, который посылает запрос на обслуживание серверу, находящемуся в состоянии ожидания запроса. Один и тот же программный компонент может быть клиентом по отношению к одному виду услуг, и сервером для другого вида услуг. Модель клиент-сервер является скорее удобным концептуальным средством ясного представления функций того или иного программного элемента в той или иной ситуации, нежели технологией. Эта модель успешно применяется не только при построении ОС, но и на всех уровнях программного обеспечения, и имеет в некоторых случаях более узкий, специфический смысл, сохраняя, естественно, при этом все свои общие черты.

Модель клиент-сервер и микроядра

Рис. 4.3. Структура ОС клиент-сервер

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

Подход с использованием микроядра заменил вертикальное распределение функций операционной системы на горизонтальное. Компоненты, лежащие выше микроядра, хотя и используют сообщения, пересылаемые через микроядро, взаимодействуют друг с другом непосредственно. Микроядро играет роль регулировщика. Оно проверяет сообщения, пересылает их между серверами и клиентами, и предоставляет доступ к аппаратуре.

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

Пример 2:

Модель клиент-сервер и микроядра

Пусть у польз задачи сохранить файл, она обращается к микроядру, оно обращается к файл серв. Он интересуется у сервера защиты можно ли он сохр.

Преимущества и недостатки микроядерной архитектуры

+

  1. переносимость (высокая)
  2. расщширяемость
  3. надежность (если упала файл сист или не раб отдельные мод то все равно раб)
  4. поддерживает распределенные вычисления (вычисления на нескольких машинах)

1. Меньшая производительность (постоянное переключение раб между режимами) треб сформировать запрос, отправить, получить

Процессы и потоки.

Поддержка многозадачности. По числу одновременно выполняемых задач операционные системы могут быть разделены на два класса:

 однозадачные (например, MS-DOS, MSX) и

 многозадачные (OC EC, OS/2, UNIX, Windows 95).

Однозадачные ОС в основном выполняют функцию предоставления пользователю виртуальной машины, делая более простым и удобным процесс взаимодействия пользователя с компьютером. Однозадачные ОС включают средства управления периферийными устройствами, средства управления файлами, средства общения с пользователем.

Многозадачные ОС, кроме вышеперечисленных функций, управляют разделением совместно используемых ресурсов, таких как процессор, оперативная память, файлы и внешние устройства.

Мультипрограммирование (многозадачность) –способ организациивычислительного процесса, при котором на 1одном процессоре попеременно выполняется несколько программ (multitasking)

Модель взаимодействия клиент-сервер. Архитектура клиент-сервер.


Похожие статьи.

Понравилась статья? Поделиться с друзьями: