Facultad de Ingeniería Universidad de Buenos Aires 75-08 Sistemas Operativos Lic. Ing. Osvaldo Clúa
Sistemas Operativos Orientados a Objetos
Programa ● ●
●
Sistemas Operativos Flexibles Tecnologías usadas en Sistemas Operativos Flexibles Sistemas Operativos Orientados a Objetos – – –
FIUBA
Choices JNode Jx
75-08 Sistemas Operativos Lic. Prof. Osvaldo Clúa
-2-
Sistemas Operativos Flexibles ●
●
Deben adecuarse a distintos ambientes o aplicaciones. Esta adecuación puede ser: – –
●
Se busca seleccionar: – –
FIUBA
Estática. Dinámica.
–
Falta (o exceso) de funcionalidad. Performance. Dependencia de75-08laSistemas versión. Operativos Lic. Prof. Osvaldo Clúa
-3-
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.) – –
● FIUBA
por Upcalls. pasando el código a la interface.
Extensible – Configurable (clásico de los 75-08 Sistemas Operativos microkernels). Lic. Prof. Osvaldo Clúa
-4-
Tecnologías usadas en Sistemas Operativos Flexibles ●
Se usa una combinación de: – – – – –
FIUBA
Microkernel. Application Specific Operating Systems. Program Families. Open Implementation. Object Orientation.
75-08 Sistemas Operativos Lic. Prof. Osvaldo Clúa
-5-
Microkernel ●
El kernel provee solo abstracciones de bajo nivel: – – –
●
FIUBA
Threads. Espacios de Direcciones. Ports para IPC (Inter Process Communications).
El resto se implementa con “servers” en espacio del usuario. 75-08 Sistemas Operativos Lic. Prof. Osvaldo Clúa
-6-
Application Specific Operating Systems ●
●
La mayor parte del Sistema Operativo se programa como bibliotecas a linkear con la aplicación. El rol del Sistema Operativo se reduce a: – –
FIUBA
Administrar pedidos a Hardware. Evitar interacciones no deseadas entre aplicaciones. 75-08 Sistemas Operativos Lic. Prof. Osvaldo Clúa
-7-
Familias de Programas ● ●
●
FIUBA
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). 75-08 Sistemas Operativos Lic. Prof. Osvaldo Clúa
-8-
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
Ejemplo: Persistencia en Archivos o en Base de Datos. 75-08 Sistemas Operativos Lic. Prof. Osvaldo Clúa
-9-
Sistemas Operativos Orientados a Objetos ●
Application Specific OS: –
●
Program Families: –
●
FIUBA
Clases Abstractas, herencia, subclases.
Open Implementation –
●
Carga dinámica de clases.
Reflection.
El Sistema Operativo es un Framework. 75-08 Sistemas Operativos Lic. Prof. Osvaldo Clúa
-10-
Choices ● ● ●
●
●
http://choices.cs.uiuc.edu/ 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
75-08 Sistemas Operativos Lic. Prof. Osvaldo Clúa
-11-
Choices (2) ● ●
● ●
FIUBA
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. 75-08 Sistemas Operativos Lic. Prof. Osvaldo Clúa
-12-
Choices (3) ●
●
Se pueden agregar clases con el Sistema corriendo. Disponible para ARM. http://en.wikipedia.org/wiki/ARM_architecture
●
Puede correrse en forma virtual en QUEMU. http://www.qemu.com/
●
FIUBA
75-08 Sistemas Operativos Lic. Prof. Osvaldo Clúa
-13-
Choices (3) ●
●
Se pueden agregar clases con el Sistema corriendo. Disponible para ARM. http://en.wikipedia.org/wiki/ARM_architecture
●
Puede correrse en forma virtual en QUEMU. http://www.qemu.com/
●
FIUBA
75-08 Sistemas Operativos Lic. Prof. Osvaldo Clúa
-14-
SisOps basados en JAVA ●
●
JavaOS: proyecto abandonado por SUN (reemplavado por las API de JME). Jnode. – –
●
Jx – –
FIUBA
Máquina Virtual y Sistema Operativo http://www.jnode.org/
–
Kernel mas AWT
http://www4.informatik.uni-erlangen.de/Projects/JX/ 75-08 Sistemas Operativos Lic. Prof. Osvaldo Clúa
-15-
JNode
● FIUBA
Extensible por Plugins. 75-08 Sistemas Operativos Lic. Prof. Osvaldo Clúa