sistemas operativos orientados a objetosmaterias.fi.uba.ar/7508/teoria-2006-1c/ooos.pdf75-08...

Click here to load reader

Upload: others

Post on 09-Aug-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

  • 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