Объектно-ориентированная операционная система


Объектно -ориентированная операционная система [1] — это операционная система , которая спроектирована, структурирована и работает с использованием принципов объектно-ориентированного программирования .

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

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

Объектная ориентация определяется как объекты + наследование , а наследование — это лишь один из подходов к более общей проблеме делегирования , которая возникает в каждой операционной системе. [2] Объектная ориентация более широко используется в пользовательских интерфейсах операционных систем, чем в их ядрах .

Объект — это экземпляр класса, который предоставляет определенный набор функций. Два объекта можно различать на основе поддерживаемых ими функций (или методов). В контексте операционной системы объекты связаны с ресурсом. Исторически принципы объектно-ориентированного проектирования использовались в операционных системах для обеспечения нескольких механизмов защиты. [1]

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