Sistema operativo orientado a objetos

format_list_bulleted Contenido keyboard_arrow_down
ImprimirCitar
Sistema operativo

Un sistema operativo orientado a objetos es un sistema operativo diseñado, estructurado y operado utilizando principios de programación orientados 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. Después de todo, son tipos de datos abstractos, con varios métodos en forma de llamadas al sistema cuyo comportamiento varía según el tipo de objeto y cuyos 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 del problema más general de delegación que ocurre en todos los sistemas operativos. 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.

Antecedentes

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.

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.

Los sistemas operativos actuales utilizan principios de diseño orientados a objetos para muchos componentes del sistema, lo que incluye la protección.

Ejemplos

Athene
Athene es un sistema operativo basado en objetos lanzado en 2000 por Rocklyte Systems. El entorno de usuario se construyó completamente de objetos que están unidos en tiempo de ejecución. Las aplicaciones para Athene también podrían crearse usando esta metodología y fueron escritas comúnmente usando el lenguaje de scripting de objetos Dynamic Markup Language (DML). Los objetos podrían haber sido compartidos entre procesos mediante la creación de ellos en memoria compartida y el bloqueo de ellos según sea necesario para el acceso. El marco de objetos de Athene fue multiplataforma, lo que le permite ser utilizado en entornos Windows y Linux para desarrollar programas orientados a objetos. La empresa fue desactivada y el proyecto abandonó en algún momento en 2009.
BeOS
BeOS fue un sistema operativo orientado a objetos lanzado en 1995, que utilizó objetos y el lenguaje C++ para la interfaz de programación de aplicaciones (API). El núcleo fue escrito en C con envolturas C++ en espacio de usuario. El sistema operativo no vio el uso general y demostró ser comercialmente inviable, sin embargo, ha visto el uso y desarrollo continuos por una pequeña comunidad entusiasta.
Elecciones
Las elecciones son un sistema operativo orientado a objetos desarrollado en la Universidad de Illinois en Urbana-Champaign. Está escrito en C++ y utiliza objetos para representar componentes de núcleo como la unidad central de procesamiento (CPU), procesos, etc. La herencia se utiliza para separar el núcleo en clases portátiles dependientes de la máquina y pequeñas clases dependientes no portátiles. Las opciones han sido portadas y se ejecutan en SPARC, x86 y ARM.
GEOS
PC/GEOS es un sistema de funcionamiento gráfico multitarea orientado a objetos ligeros con una sofisticada gestión de ventanas y escritorio con fuentes escalables. Está escrito principalmente en un dialecto de lenguaje de montaje x86 orientado a objetos y algunos C/C+++ y está diseñado para funcionar en DOS (similar a Microsoft Windows hasta Windows Me). GEOS fue desarrollado originalmente por Berkeley Softworks en 1990, que luego se convirtió en GeoWorks Corporation, y sigue siendo mantenido por BreadBox Computer Company. Se nombraron suites de software relacionadas Ensemble y New Deal Office. Existen adaptaciones para varias palmtops, y sistemas de 32 bits con no-x86-CPU.
Haiku
Haiku (originalmente llamado OpenBeOS), es un reemplazo de código abierto para BeOS. Alcanzó su primer hito de desarrollo en septiembre de 2009 con la liberación de Haiku R1/Alpha 1. La distribución x86 es compatible con BeOS tanto a nivel fuente como binario. Como BeOS, está escrito principalmente en C++ y proporciona una API orientada al objeto. Se desarrolla activamente.
IBM i (OS/400, i5/OS)
IBM introdujo OS/400 en 1988. Este sistema operativo funcionó exclusivamente en la plataforma AS/400. Renombrado IBM i en 2008, este sistema operativo y funciona exclusivamente en Power Systems que también puede ejecutar AIX y Linux. IBM i utiliza una metodología orientada al objeto e integra una base de datos (Db2 para i). El sistema operativo IBM i tiene un identificador único de 128 bits para cada objeto.
IBM OS/2 2.0
El primer sistema de operación pre-empleo basado en la prioridad de IBM incluyó una cáscara de usuario orientada al objeto. Fue diseñado para el Intel 80386 que utilizó el modo 8086 virtual con soporte completo de 32 bits y fue lanzado en 1992. ArcaOS, un nuevo sistema operativo basado en OS/2 llamado Blue Lion está siendo desarrollado por Arca Noae. La primera versión fue publicada en mayo de 2017.
IBM TopView
TopView fue un entorno operativo orientado a objetos que cargaba en un PC en DOS, y luego tomó el control de DOS. En ese momento se convirtió efectivamente en un sistema operativo orientado al objeto con una API orientada al objeto (TopView API). Fue el primer sistema operativo multitarea, basado en ventanas, orientado al objeto para el PC dirigido por David C. Morrill y lanzado en febrero de 1985.
Java-based
Dado que Oracle's (antes Sun Microsystems') Java es hoy uno de los idiomas más dominantes orientados al objeto, no es de extrañar que se hayan intentado sistemas operativos basados en Java. En esta área, idealmente, el núcleo consistía en el mínimo desnudo necesario para soportar una máquina virtual Java (JVM). Este es el único componente de tal sistema operativo que tendría que ser escrito en un idioma que no sea Java. Construido en el JVM y soporte básico de hardware, sería posible escribir el resto del sistema operativo en Java; incluso partes del sistema que están más tradicionalmente escritos en un lenguaje de menor nivel como C, por ejemplo, controladores de dispositivo, se pueden escribir en Java.
Ejemplos de intentos de tal sistema operativo incluyen JavaOS, JOS, JNode y JX.
Lisp-based
Un sistema operativo orientado al objeto escrito en el dialecto Lisp Lisp Machine Lisp (y más tarde Common Lisp) fue desarrollado en el MIT. Fue comercializado con máquinas Lisp de Symbolics, Lisp Machines Inc. y Texas Instruments. Los simbólicos llaman su sistema operativo Generar. Se desarrolló con la extensión de Lisp orientada al objeto Flavors, luego con New Flavors, y luego con el Sistema Común de Objetos Lisp (CLOS).
Xerox desarrolló varias estaciones de trabajo con un sistema operativo escrito en Interlisp-D. Interlisp-D proporcionó extensiones orientadas al objeto como LOOPS y CLOS.
Movitz y Mezzano son dos intentos más recientes de operar sistemas escritos en Common Lisp.
Medos-2
Medos-2 es un único usuario, sistema operativo orientado a objetos para la línea de estaciones de trabajo Lilith (procesador: Advanced Micro Devices (AMD) 2901), desarrollado a principios de los años 80 en ETH Zurich por Svend Erik Knudsen con el asesoramiento de Niklaus Wirth. Se construye totalmente a partir de módulos del lenguaje de programación Modula-2. Fue sucedido en ETH Zurich por el sistema Oberon, y una variante llamada Excelsior fue desarrollado para la estación de trabajo de Kronos, por la Academia de Ciencias de la Unión Soviética, rama Siberiana, Centro de Computación Novosibirsk, Proyecto de Sistemas Desarrollables Asincrónicos Modulares (MARS), Kronos Research Group (KRG).
Microsoft Singularity
Singularity es un sistema operativo experimental basado en Microsoft. Marco NET. Es comparable a los sistemas operativos basados en Java.
Microsoft Windows NT
Windows NT es una familia de sistemas operativos (incluyendo Windows 7, 8, Phone 8, 8.1, Windows 10, 10 Mobile, Windows 11 y Xbox) producidos por Microsoft, la primera versión de los cuales fue lanzado en julio de 1993. Es un sistema operativo multiprocesador basado en lenguajes de alto nivel, independiente de procesadores, multiprocesador y multiusuario. Es mejor descrito como basado en objetos en lugar de orientado hacia objetos, ya que no incluye las propiedades de herencia completa de los lenguajes orientados hacia objetos.
El Administrador de Objetos está encargado de gestionar objetos NT. Como parte de esta responsabilidad, mantiene un espacio de nombres interno donde varios componentes del sistema operativo, controladores de dispositivos y programas Win32 pueden almacenar y buscar objetos. La NT Native API proporciona rutinas que permiten a los programas de espacio de usuario (mode) navegar por el espacio de nombres y consultar el estado de los objetos ubicados allí, pero las interfaces son indocumentadas. NT admite listas de control de acceso por objeto (archivo, función y función) que permiten aplicar un rico conjunto de permisos de seguridad a sistemas y servicios. WinObj es un programa de Windows NT que utiliza la API nativa NT (providida por NTDLL.DLL) para acceder y mostrar información sobre el espacio de nombre del NT Object Manager.
Modelo de Objetos de Componente
En el lado del modo de usuario de Windows, el Modelo de Objetos de Componente (COM) es un estándar de interfaz binaria de aplicación para componentes de software introducido por Microsoft en 1993. Se utiliza para permitir la comunicación entre procesos y la creación de objetos dinámicos en una gran variedad de lenguajes de programación. COM es la base para varias otras tecnologías y marcos de Microsoft, incluyendo Object Linking and Embedding (OLE), OLE Automation, ActiveX, COM+, Distributed Component Object Model (DCOM), el shell de Windows, DirectX y Windows Runtime. OLE es una tecnología patentada desarrollada por Microsoft que permite incrustar y vincular a documentos y otros objetos. A nivel técnico, un objeto OLE es cualquier objeto que implemente el IOleObject interfaz, posiblemente junto con una amplia gama de otras interfaces, dependiendo de las necesidades del objeto. Su uso primario es para gestionar documentos compuestos, pero también se utiliza para transferir datos entre diferentes aplicaciones mediante operaciones de arrastrar y soltar y portapapeles.
Formato binario de archivo compuesto
Formato binario de archivo compuesto (CFBF) es un formato de archivo para almacenar muchos archivos y secuencias dentro de un archivo en un disco. CFBF es desarrollado por Microsoft y es una implementación de Microsoft COM Almacenamiento Estructurado. El almacenamiento estructurado es ampliamente utilizado como formato de archivo principal en aplicaciones de Microsoft Office, incluyendo Microsoft Word, Microsoft Excel, Microsoft PowerPoint, Microsoft Access y es la base de Formato de Autorización Avanzada.
Vinculación de objetos y Embedding
Object Linking and Embedding (OLE) formó parte de un plan más grande llamado El Cairo, el nombre clave de un proyecto en Microsoft de 1991 a 1996. Su carta era construir tecnologías para un sistema operativo de próxima generación que cumpliría la visión de Bill Gates de "información a su alcance". El Cairo nunca se envió, aunque algunas de sus tecnologías han aparecido desde entonces en otros productos. La interfaz gráfica de usuario de Windows 95 se basó en el trabajo de diseño inicial que se hizo en la interfaz de usuario de El Cairo. El componente restante es el sistema de archivos basado en objetos. Una vez fue planeado ser implementado en forma de Windows Future Storage (WinFS) como parte de Windows Vista. WinFS es el nombre de código para el proyecto del sistema de almacenamiento y gestión de datos basado en bases de datos relacionales, que se ejecuta en el sistema de archivos NT de Windows (NTFS), que está orientado a objetos en que puede almacenar los objetos NT incluyendo su identificador de objetos NT. Cada objeto NTFS tiene un identificador de objeto; un atajo con un objetivo que está en un volumen NTFS también registra el identificador de objeto del objetivo atajo, y el identificador de objeto de la unidad. WinFS fue demostrado por primera vez en 2003 como un subsistema de almacenamiento avanzado para el sistema operativo Microsoft Windows, diseñado para la persistencia y gestión de datos estructurados, semiestructurados y no estructurados. El desarrollo WinFS fue cancelado en junio de 2006, con algunas de sus tecnologías fusionadas en otros productos de Microsoft como Microsoft SQL Server 2008 y Microsoft SharePoint. Posteriormente se confirmó en una entrevista con Bill Gates que Microsoft planeaba migrar aplicaciones como Windows Media Player, Windows Photo Gallery, Microsoft Office Outlook, etc., para utilizar WinFS como el back-end de almacenamiento de datos.
NeXTSTEP
Durante la década de 1980, Steve Jobs formó la compañía informática NeXT. Una de las primeras tareas de NeXT fue diseñar un sistema operativo orientado a objetos, NeXTSTEP. Lo hicieron añadiendo un marco orientado hacia objetos en Mach y BSD utilizando el lenguaje Objetivo-C como base. Consiguió un estado de nicho en el mercado de cálculo, especialmente utilizado por Tim Berners-Lee desarrollando la primera implementación de la World Wide Web.
NeXTStep más tarde se convirtió en OpenStep y la API Cocoa en macOS e iOS (iPadOS, watchOS).
OpenStep fue proporcionado como una capa de API en muchos sistemas operativos, a saber, HP-UX, NextStep, Solaris y Windows.
Oberon
Oberon es un único usuario, sistema operativo orientado a objetos para la línea Ceres de estaciones de trabajo (procesador: National Semiconductor NS32000), desarrollado en la década de 1980 en ETH Zurich por Niklaus Wirth y Jürg Gutknecht. Se construye totalmente a partir de módulos del lenguaje de programación Oberon. Una evolución posterior fue llamada Active Object System (AOS), entonces renombrado Botella azul, entonces renombrado A2.
OOSMOS
El Sistema Operativo de Máquinas Estatales orientadas hacia objetos (OOSMOS), escrito en C, promueve la encapsulación orientada hacia objetos e implementa una arquitectura jerárquica estatal jerárquica completa. Genera código C directamente a partir de gráficos estatales dibujados con la herramienta de código abierto UMLet. OOSMOS también soporta una característica única llamada ' hilos estatales' que permite un hilo de ejecución por estado. OOSMOS opera en un tablero desnudo o en cooperación con un sistema operativo existente.
ReactOS
Reacción OS es un sistema operativo de código abierto destinado a ser compatible con software de aplicaciones y controladores de dispositivos hechos para versiones de Microsoft Windows NT. Escrito desde cero, tiene como objetivo seguir la arquitectura de Windows NT diseñada por Microsoft desde el nivel de hardware hasta el nivel de aplicación. Esto es no un sistema basado en Linux, y comparte ninguno de la arquitectura unix.
Smalltalk
Smalltalk fue inventado en Xerox en la década de 1970. El sistema Smalltalk está totalmente orientado a objetos y necesita muy poco apoyo de BIOS y el sistema de tiempo de ejecución.
Syllable
Syllable hace un uso pesado de C++ y por eso se compara a menudo con BeOS.
Symbolics Genera
Genera de Symbolics es un sistema operativo para máquinas Lisp escrito en ZetaLisp y Symbolics Common Lisp. Hace un uso pesado de Flavors (una extensión orientada al objeto temprano a Lisp) y el Sistema Común de Objetos Lisp (CLOS). El desarrollo comenzó a mediados de los años 70 en el MIT.
Taligent
Taligent fue un proyecto de sistema operativo orientado a objetos, iniciado por Apple Inc. y desarrollado conjuntamente con IBM en el decenio de 1990. Posteriormente fue lanzado a una subsidiaria de IBM y transformado de un sistema operativo a un entorno de programación.

Contenido relacionado

Subtipado

En la teoría del lenguaje de programación, la subtipificación es una forma de polimorfismo de tipos en la que un subtipo es un tipo de datos que está...

Tejas y Jayhawk

Tejas era el nombre en clave del microprocesador de Intel, que sería el sucesor del último Pentium 4 con el núcleo Prescott y a veces se lo denominaba...

LyX

LyX es un procesador de documentos de interfaz gráfica de usuario de código abierto basado en el sistema de composición tipográfica LaTeX. A diferencia de...
Más resultados...
Tamaño del texto:
Copiar