Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

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




Экзоядро

В системе VM/370 каждый пользователь получает в свое распоряжение точную копию настоящей машины. 386 процессор в режиме виртуальной машины 8086 предоставляет каждому пользователю точную копию другой машины. Развивая эту идею дальше, в Массачусетском технологическом институте разработали систему, которая предоставляет каждому пользователю абсолютную копию реального компьютера, но с подмножеством ресурсов. Например, одна виртуальная машина может получить блоки на диске с номерами от 0 до 1023, другая – от 1024 до 2047 и т. д. На нижнем уровне в режиме ядра работает программа, которая называется экзоядро (exokernel). Она занимается распределением ресурсов для виртуальных машин и проверкой их использования. Каждая виртуальная машина на уровне пользователя может работать с собственной операционной системой (как в системе виртуальных машин), но при этом она ограничена набором ресурсов, которые она запросила, и которые ей были предоставлены.

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

 

 

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

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

 

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

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

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

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

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

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

 

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

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

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

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

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

 




Поделиться с друзьями:


Дата добавления: 2014-11-25; Просмотров: 1204; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




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