Описание слайда:
Объектная модель
Как и в случае других больших программных систем, трудно найти одну, главную программу, которая управляет всей операционной системой. Таким образом, вместо того, чтобы разрабатывать систему сверху вниз, по объектно-ориентированной методологии сначала рассматривают данные, с которыми должна работать программа для выполнения своей задачи.
Для операционных систем такими данными являются системные ресурсы – файлы, процессы, память и так далее.
Основная цель разработки системы с ориентацией на данные – создание программного обеспечения, которое можно было бы легко, а главное дешево, изменять. Один из способов минимизации необходимых изменений в объектно-ориентированных программах – это сокрытие физического представления данных внутри объектов. Объект представляет собой структуру данных, физический формат которой скрыт в определении типа. Он имеет набор свойств, называемых атрибутами, и с ним работает группа сервисов.
Многие операционные системы используют объекты для представления системных ресурсов. Каждый системный ресурс, который могут совместно использовать несколько процессов, реализован как объект и обрабатывается объектными сервисами. Такой подход уменьшает влияние изменений, которые могут происходить в системе с течением времени. Например, если изменение в операционной системе вызвано изменением в аппаратуре, необходимо изменить только объект, представляющий данный аппаратный ресурс, и его сервисы. При этом код, который использует объект, не нуждается в модификации. Аналогично, если нужно ввести в систему поддержку нового устройства, создается новый объект, и добавление его к системе не нарушает существующего кода.
Помимо того, что уменьшается влияние изменений, построение операционной системы на основе объектов имеет еще ряд несомненных преимуществ:
- Доступ системы к ресурсам и работа с ними унифицированы. Создание, удаление и ссылка на объект осуществляется совершенно аналогично. И поскольку каждый ресурс – это объект, контроль использования ресурсов сводится к отслеживанию создания и использования объектов.
- Упрощается защита, так как для всех объектов она осуществляется одинаково. При попытке доступа к объекту подсистема защиты вмешивается и проверяет допустимость операции, независимо от того, какой ресурс представляет объект.
- Объекты предоставляют удобную и унифицированную базу для совместного использования ресурсов двумя или несколькими процессами. Для работы с объектами любого типа используются описатели объектов. Два процесса совместно используют объект тогда, когда каждый из них открыл его описатель. Система может отслеживать количество описателей, открытых для данного объекта, чтобы определить, действительно ли он все еще используется. После этого система может уда лить объекты, которые более не используются.