Download Sistemas Operativos OO - Universidad de Buenos Aires
Document related concepts
no text concepts found
Transcript
Facultad de Ingeniería Universidad de Buenos Aires 75-08 Sistemas Operativos Lic. Ing. Osvaldo Clúa 2007 Sistemas Operativos Sistemas Operativos Orientados a Objetos Orientados a Objetos Sistemas Operativos Flexibles ● ● ● Artículo original de Vinny Cahill Deben adecuarse a distintos ambientes o aplicaciones. – Esta adecuación puede ser Estática o Dinámica. Se busca solucionar: – Falta (o exceso) de funcionalidad. – Performance. – Dependencia de la versión. FIUBA 2007 75-08 Sistemas Operativos Prof. Lic. Ing. Osvaldo Clíúa 2 Tipos de Flexibilidad ● Estática (al generar el Sistema Operativo.) ● Adaptable (por parámetros de la aplicación.) ● Adaptativo (o auto-adaptable.) ● Modificable (La aplicación provee código.) – ● por Upcalls o pasando el código a la interface. Extensible – Configurable (clásico de los microkernels). FIUBA 2007 75-08 Sistemas Operativos Prof. Lic. Ing. Osvaldo Clíúa 3 Tecnologías usadas en Sistemas Operativos Flexibles ● Se usa una combinación de: – Microkernel. – Application Specific Operating Systems. – Program Families. – Open Implementation. – Object Orientation. FIUBA 2007 75-08 Sistemas Operativos Prof. Lic. Ing. Osvaldo Clíúa 4 Microkernels ● El kernel provee solo abstracciones de bajo nivel: – Threads. – Espacios de Direcciones. Ports para IPC (Inter Process Communications). El resto se implementa con “servers” en espacio del usuario. FIUBA 2007 75-08 Sistemas Operativos Prof. Lic. Ing. Osvaldo Clíúa 5 Application Specific Operating System ● ● ● La mayor parte del Sistema Operativo se programa como bibliotecas a linkear con la aplicación. El rol del Sistema Operativo se reduce a: – Administrar pedidos a Hardware. – Evitar interacciones no deseadas entre aplicaciones. Standard osek. FIUBA 2007 75-08 Sistemas Operativos Prof. Lic. Ing. Osvaldo Clíúa 6 Familias de Programas ● ● ● Es una forma de Migración Vertical. Incluir en el Sistema Operativo las funciones mas usadas por las aplicaciones que va a correr (“minimal perfect subset”). De uso en empotrados (embedded) para un determinado tipo de Hardware (DVD player). FIUBA 2007 75-08 Sistemas Operativos Prof. Lic. Ing. Osvaldo Clíúa 7 Open Implementation ● ● Los clientes de una “Interface” tienen cierto control acerca de como se implementa la misma. “MetaInterface” : – Provee una vista abstracta de la “Interface” – Provee formas de ajustar la implementación de la “Interface” ● FIUBA 2007 Ejemplo: Persistencia en Archivos o en Base de Datos. 75-08 Sistemas Operativos Prof. Lic. Ing. Osvaldo Clíúa 8 Sistemas Operativos Orientados a Objetos ● ● ● ● En Sistemas operativos, el término Objetos se usa en un sentido distinto al de OOP (NT Objects, AS400 Objects). Los Sistemas Operativos Orientados a Objetos usan internamente las metodologías de OOP. Proveen soporte nativo a los conceptos de OOP. El Sistema Operativo es un Framework. FIUBA 2007 75-08 Sistemas Operativos Prof. Lic. Ing. Osvaldo Clíúa 9 OOOS vs Flexible OS ● Las tecnologías de OOS pueden reflejarse en OOP: – Application Specific OS: ● – Program Families: ● – Clases Abstractas, herencia, subclases. Open Implementation ● FIUBA 2007 Carga dinámica de clases. Reflection. 75-08 Sistemas Operativos Prof. Lic. Ing. Osvaldo Clíúa 10 Choices ● ● ● ● ● Desarrollado en la University of Illinois at UrbanaChampaign. Integra C++ al Sistema Operativo. Todos los conceptos de Sistema Operativos se modelan por Clases y Objetos. La Herencia y el Polimorfismo permiten la extensión dinámica del Sistema Operativo. El Framework funciona como una serie de capas que extienden la máquina. FIUBA 2007 75-08 Sistemas Operativos Prof. Lic. Ing. Osvaldo Clíúa 11 Choices (2) ● ● ● ● ● ● ● Cada SubSistema es un sub-framework. Las clases abstractas proveen implementacion parcial que se adaptan al ambiente en las sub-clases. Las clases son objetos. El sistema asegura la persistencia de los objetos que así lo desean. Se pueden agregar clases con el Sistema corriendo. Disponible para ARM. Puede correrse en forma virtual en QUEMU. FIUBA 2007 75-08 Sistemas Operativos Prof. Lic. Ing. Osvaldo Clíúa 12 SisOps basados en JAVA ● ● ● JavaOS: proyecto abandonado por SUN (reemplazado por las API de JME). Jnode. – Máquina Virtual y Sistema Operativo. – Corre desde las máquinas virtuales, Jini puede correr en Jnode Jx – Proyecto de la Universidad de Erlangen. – Microkernel, Kernel y AWT. FIUBA 2007 75-08 Sistemas Operativos Prof. Lic. Ing. Osvaldo Clíúa 13 JNode ● FIUBA 2007 Extensible por Plugins. 75-08 Sistemas Operativos Prof. Lic. Ing. Osvaldo Clíúa 14 Jx http://www4.informatik.uni-erlangen.de/Projects/JX/publications/jx-usenix-slides.pdf FIUBA 2007 75-08 Sistemas Operativos Prof. Lic. Ing. Osvaldo Clíúa 15 C# y Singularity ● ● ● ● FIUBA 2007 Desarrollado por Microsoft en Sing# que es una extensión de Spec# (Contratos en C#). Microkernel pero con un solo espacio de direcciones. Los procesos están encapsulados en Software Isolated Processes (ver ref.). Kernel, Drivers y Aplicaciones están escritos en Managed Code. 75-08 Sistemas Operativos Prof. Lic. Ing. Osvaldo Clíúa 16