Sistema operativo orientado a objetos


Un sistema operativo orientado a objetos [1] es un sistema operativo diseñado, estructurado y operado utilizando principios de programación orientada a objetos .

Un sistema operativo orientado a objetos contrasta con una interfaz de usuario orientada a objetos o un marco de programación , que se puede ejecutar en un sistema operativo no orientado a objetos como DOS o Unix .

Ya existen conceptos de lenguaje basados ​​en objetos involucrados en el diseño de un sistema operativo más típico como Unix . Si bien un lenguaje más tradicional como C no admite la orientación a objetos con tanta fluidez como los lenguajes más recientes, la noción de, por ejemplo, un archivo , flujo o controlador de dispositivo (en Unix, cada uno representado como un descriptor de archivo ) puede considerarse un buen ejemplo de objetos. Son, después de todo, tipos de datos abstractos , con varios métodos en forma de llamadas al sistema.qué comportamiento varía según el tipo de objeto y qué detalles de implementación están ocultos para la persona que llama.

La orientación a objetos se ha definido como objetos + herencia , y la herencia es solo un enfoque para el problema más general de delegación que ocurre en todos los sistemas operativos. [2] La orientación a objetos se ha utilizado más ampliamente en las interfaces de usuario de los sistemas operativos que en sus núcleos .

Un objeto es una instancia de una clase, que proporciona un cierto conjunto de funcionalidades. Se pueden diferenciar dos objetos en función de las funcionalidades (o métodos) que admiten. En un contexto de sistema operativo, los objetos están asociados con un recurso. Históricamente, los principios de diseño orientado a objetos se utilizaron en los sistemas operativos para proporcionar varios mecanismos de protección. [1]

Los mecanismos de protección en un sistema operativo ayudan a proporcionar una separación clara entre los diferentes programas de usuario. También protege el sistema operativo de cualquier comportamiento de programa de usuario malicioso. Por ejemplo, considere el caso de los perfiles de usuario en un sistema operativo. El usuario no debe tener acceso a los recursos de otro usuario. El modelo de objetos se ocupa de estos problemas de protección con cada recurso actuando como un objeto. Cada objeto puede realizar solo un conjunto de operaciones. En el contexto de los perfiles de usuario, el conjunto de operaciones está limitado por el nivel de privilegio de un usuario. [1]