Sistemas Operativos Orientados a Objetosmaterias.fi.uba.ar/7508/Teoria-2006-1c/OOos.pdf75-08...
Transcript of Sistemas Operativos Orientados a Objetosmaterias.fi.uba.ar/7508/Teoria-2006-1c/OOos.pdf75-08...
-
Facultad de IngenieríaUniversidad de Buenos Aires
75-08 Sistemas OperativosLic. Ing. Osvaldo Clúa
Sistemas Operativos Orientados a Objetos
-
75-08 Sistemas OperativosLic. Prof. Osvaldo Clúa
FIUBA -2-
Programa● Sistemas Operativos Flexibles● Tecnologías usadas en Sistemas
Operativos Flexibles● Sistemas Operativos Orientados a
Objetos– Choices– JNode– Jx
-
75-08 Sistemas OperativosLic. Prof. Osvaldo Clúa
FIUBA -3-
Sistemas Operativos Flexibles● Deben adecuarse a distintos ambientes o
aplicaciones.● Esta adecuación puede ser:
– Estática.– Dinámica.
● Se busca seleccionar:– Falta (o exceso) de funcionalidad.– Performance.– Dependencia de la versión.
-
75-08 Sistemas OperativosLic. Prof. Osvaldo Clúa
FIUBA -4-
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.– pasando el código a la interface.
● Extensible – Configurable (clásico de los microkernels).
-
75-08 Sistemas OperativosLic. Prof. Osvaldo Clúa
FIUBA -5-
Tecnologías usadas en Sistemas Operativos Flexibles
● Se usa una combinación de:– Microkernel.– Application Specific Operating Systems.– Program Families.– Open Implementation.– Object Orientation.
-
75-08 Sistemas OperativosLic. Prof. Osvaldo Clúa
FIUBA -6-
Microkernel● 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.
-
75-08 Sistemas OperativosLic. Prof. Osvaldo Clúa
FIUBA -7-
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:– Administrar pedidos a Hardware.– Evitar interacciones no deseadas entre
aplicaciones.
-
75-08 Sistemas OperativosLic. Prof. Osvaldo Clúa
FIUBA -8-
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).
-
75-08 Sistemas OperativosLic. Prof. Osvaldo Clúa
FIUBA -9-
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”● Ejemplo: Persistencia en Archivos o en Base de
Datos.
-
75-08 Sistemas OperativosLic. Prof. Osvaldo Clúa
FIUBA -10-
Sistemas Operativos Orientados a Objetos
● Application Specific OS:– Carga dinámica de clases.
● Program Families:– Clases Abstractas, herencia, subclases.
● Open Implementation– Reflection.
● El Sistema Operativo es un Framework.
-
75-08 Sistemas OperativosLic. Prof. Osvaldo Clúa
FIUBA -11-
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.
http://choices.cs.uiuc.edu/
-
75-08 Sistemas OperativosLic. Prof. Osvaldo Clúa
FIUBA -12-
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.
-
75-08 Sistemas OperativosLic. Prof. Osvaldo Clúa
FIUBA -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/●
http://en.wikipedia.org/wiki/ARM_architecturehttp://www.qemu.com/
-
75-08 Sistemas OperativosLic. Prof. Osvaldo Clúa
FIUBA -14-
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/●
http://en.wikipedia.org/wiki/ARM_architecturehttp://www.qemu.com/
-
75-08 Sistemas OperativosLic. Prof. Osvaldo Clúa
FIUBA -15-
SisOps basados en JAVA
● JavaOS: proyecto abandonado por SUN (reemplavado por las API de JME).
● Jnode.– Máquina Virtual y Sistema Operativo– http://www.jnode.org/
● Jx – Kernel mas AWT – http://www4.informatik.uni-erlangen.de/Projects/JX/–
http://www.jnode.org/http://www4.informatik.uni-erlangen.de/Projects/JX/
-
75-08 Sistemas OperativosLic. Prof. Osvaldo Clúa
FIUBA -16-
JNode
● Extensible por Plugins.
-
75-08 Sistemas OperativosLic. Prof. Osvaldo Clúa
FIUBA -17-
Jx
http://www4.informatik.uni-erlangen.de/Projects/JX/publications/jx-usenix-slides.pdf
http://www4.informatik.uni-erlangen.de/Projects/JX/publications/jx-usenix-slides.pdf