Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Операционные системы Лекция 12(Интерфейсы ОС. С...doc
Скачиваний:
14
Добавлен:
16.09.2019
Размер:
391.17 Кб
Скачать

Суть модели клиент-сервер:

1. Вся система разбивается на несколько независимых процессов, каждый из которых выполняет определенные функции (управление памятью, создание процессов, планирование процессора и т.д.)

2. Каждый такой сервер выполняется в режиме пользователя и циклически проверяет, есть ли запросы на выполнение конкретной службы.

3. Клиент, которым может быть либо другая часть ОС, либо приложение, выдает запрос на обслуживание путем посылки сообщения серверу. Ядро ОС (или микроядро) выполняется в режиме ядра и доставляет это сообщение серверу.

4. Сервер выполняет операцию, после чего ядро возвращает клиенту другое сообщение

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

Рис. 5. ОС «клиент-сервер»

  1. Операционные системы с поддержкой объектов и объектной структурой

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

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

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

Управление каждым конкретным типом ресурсов и представляющими их объектами может осуществляться отдельным менеджером.

Системные вызовы, связанные с ресурсами, являются вызовами объектов.

У операционных систем с объектной структурой имеется ряд достоинств.

  • Такая структура обеспечивает унифицированное представление ресурсов в терминах атрибутов и интерфейсных операций.

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

Именование объектов

Все системы требуют однозначной идентификации объектов.

Потенциальный пользователь существующего объекта должен знать его имя.

Оно назначается объекту менеджером объектов данного типа и сохраняется до тех пор, пока, существует сам объект.

Защита, вызов и совместное использование объектов.

Для всех объектов (файлов, устройств, процессов и памяти) может использоваться одна и та же схема управления доступом.

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

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

  • Для использования объекта клиентская программа должна его открыть, указав в качестве параметров имя и предполагаемый режим использования объекта.

  • В том случае, если проверка прав доступа пройдет успешно, объект будет «открыт для использования» и клиенту будет возвращен дескриптор объекта (object handle), иногда называемый описателем, предназначенный для использования при последующих вызовах.

  • Получение процессом дескриптора объекта является достаточным подтверждением того, что проверка прав доступа прошла успешно.

Дескриптор — это временное имя, действующее только до тех пор, пока объект открыт для использования.

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

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

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

Унифицированные механизмы управления объектами

Менеджеры типов объектов реализуют одни и те же механизмы именования объектов, контроля доступа, контроля параллельного доступа, открытия-закрытия и вызова через дескрипторы.

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