русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

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


Дата добавления: 2014-11-28; просмотров: 843; Нарушение авторских прав


 

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

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

 

Рисунок 5.3 – Модель клиент-сервер

Модель клиент-сервер показан на рисунке 5.3. На рисунке показано, что в задачу ядра входит только управление связью между клиентами и серверами. Такая организация дает системе следующие преимущества:

- Благодаря разделению операционной системы на части, каждая из которых управляет только одним элементом (файловой системой, процессами, терминалом, памятью), все части становятся маленькими и легко управляемыми.

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

- Клиент-серверная архитектура очень просто адаптируется к распределенным системам.

Использование клиент-серверной архитектуры в распределенных системах показано на рисунке 5.4.

 

Рисунок 5.4 – Модель клиент-сервер в распределенной системе

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

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



Первый заключается в вынесении некоторых критических серверных процессов (например, драйверов устройств) в режим ядра. При этом эти процессы имеют полный доступ к аппаратуре, но общаются с другими процессами посредством обычной схемы передачи сообщений.

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

 



<== предыдущая лекция | следующая лекция ==>
Экзоядро | Текст лекции


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.231 сек.