sistemas operativos orientados a objetosmaterias.fi.uba.ar/7508/teoria-2007/ooos.pdf · 75-08...

16
Facultad de Ingeniería Universidad de Buenos Aires 75-08 Sistemas Operativos Lic. Ing. Osvaldo Clúa 2007 Sistemas Operativos Orientados a Objetos Sistemas Operativos Orientados a Objetos

Upload: others

Post on 09-Aug-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Sistemas Operativos Orientados a Objetosmaterias.fi.uba.ar/7508/Teoria-2007/OOos.pdf · 75-08 Sistemas Operativos FIUBA 2007 Prof. Lic. Ing. Osvaldo Clíúa 12 Choices (2) Cada SubSistema

Facultad de IngenieríaUniversidad de Buenos 

Aires

75-08 Sistemas OperativosLic. Ing. Osvaldo Clúa

2007

Sistemas Operativos Orientados a ObjetosSistemas Operativos Orientados a Objetos

Page 2: Sistemas Operativos Orientados a Objetosmaterias.fi.uba.ar/7508/Teoria-2007/OOos.pdf · 75-08 Sistemas Operativos FIUBA 2007 Prof. Lic. Ing. Osvaldo Clíúa 12 Choices (2) Cada SubSistema

75-08 Sistemas OperativosProf. Lic. Ing. Osvaldo ClíúaFIUBA 2007 2

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.

Page 3: Sistemas Operativos Orientados a Objetosmaterias.fi.uba.ar/7508/Teoria-2007/OOos.pdf · 75-08 Sistemas Operativos FIUBA 2007 Prof. Lic. Ing. Osvaldo Clíúa 12 Choices (2) Cada SubSistema

75-08 Sistemas OperativosProf. Lic. Ing. Osvaldo ClíúaFIUBA 2007 3

● 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).

Tipos de Flexibilidad

Page 4: Sistemas Operativos Orientados a Objetosmaterias.fi.uba.ar/7508/Teoria-2007/OOos.pdf · 75-08 Sistemas Operativos FIUBA 2007 Prof. Lic. Ing. Osvaldo Clíúa 12 Choices (2) Cada SubSistema

75-08 Sistemas OperativosProf. Lic. Ing. Osvaldo ClíúaFIUBA 2007 4

Tecnologías usadas en Sistemas Operativos Flexibles

● Se usa una combinación de:– Microkernel.– Application Specific Operating Systems.– Program Families.– Open Implementation.– Object Orientation.

Page 5: Sistemas Operativos Orientados a Objetosmaterias.fi.uba.ar/7508/Teoria-2007/OOos.pdf · 75-08 Sistemas Operativos FIUBA 2007 Prof. Lic. Ing. Osvaldo Clíúa 12 Choices (2) Cada SubSistema

75-08 Sistemas OperativosProf. Lic. Ing. Osvaldo ClíúaFIUBA 2007 5

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.

Page 6: Sistemas Operativos Orientados a Objetosmaterias.fi.uba.ar/7508/Teoria-2007/OOos.pdf · 75-08 Sistemas Operativos FIUBA 2007 Prof. Lic. Ing. Osvaldo Clíúa 12 Choices (2) Cada SubSistema

75-08 Sistemas OperativosProf. Lic. Ing. Osvaldo ClíúaFIUBA 2007 6

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.

Page 7: Sistemas Operativos Orientados a Objetosmaterias.fi.uba.ar/7508/Teoria-2007/OOos.pdf · 75-08 Sistemas Operativos FIUBA 2007 Prof. Lic. Ing. Osvaldo Clíúa 12 Choices (2) Cada SubSistema

75-08 Sistemas OperativosProf. Lic. Ing. Osvaldo ClíúaFIUBA 2007 7

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).

Page 8: Sistemas Operativos Orientados a Objetosmaterias.fi.uba.ar/7508/Teoria-2007/OOos.pdf · 75-08 Sistemas Operativos FIUBA 2007 Prof. Lic. Ing. Osvaldo Clíúa 12 Choices (2) Cada SubSistema

75-08 Sistemas OperativosProf. Lic. Ing. Osvaldo ClíúaFIUBA 2007 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”● Ejemplo: Persistencia en Archivos o en Base de Datos.

Page 9: Sistemas Operativos Orientados a Objetosmaterias.fi.uba.ar/7508/Teoria-2007/OOos.pdf · 75-08 Sistemas Operativos FIUBA 2007 Prof. Lic. Ing. Osvaldo Clíúa 12 Choices (2) Cada SubSistema

75-08 Sistemas OperativosProf. Lic. Ing. Osvaldo ClíúaFIUBA 2007 9

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.

Page 10: Sistemas Operativos Orientados a Objetosmaterias.fi.uba.ar/7508/Teoria-2007/OOos.pdf · 75-08 Sistemas Operativos FIUBA 2007 Prof. Lic. Ing. Osvaldo Clíúa 12 Choices (2) Cada SubSistema

75-08 Sistemas OperativosProf. Lic. Ing. Osvaldo ClíúaFIUBA 2007 10

OOOS vs Flexible OS

● Las tecnologías de OOS pueden reflejarse en OOP:– Application Specific OS:

● Carga dinámica de clases.– Program Families:

● Clases Abstractas, herencia, subclases.– Open Implementation

● Reflection.

Page 11: Sistemas Operativos Orientados a Objetosmaterias.fi.uba.ar/7508/Teoria-2007/OOos.pdf · 75-08 Sistemas Operativos FIUBA 2007 Prof. Lic. Ing. Osvaldo Clíúa 12 Choices (2) Cada SubSistema

75-08 Sistemas OperativosProf. Lic. Ing. Osvaldo ClíúaFIUBA 2007 11

Choices● Desarrollado en la University of Illinois at Urbana-

Champaign.● 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.

Page 12: Sistemas Operativos Orientados a Objetosmaterias.fi.uba.ar/7508/Teoria-2007/OOos.pdf · 75-08 Sistemas Operativos FIUBA 2007 Prof. Lic. Ing. Osvaldo Clíúa 12 Choices (2) Cada SubSistema

75-08 Sistemas OperativosProf. Lic. Ing. Osvaldo ClíúaFIUBA 2007 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.● Se pueden agregar clases con el Sistema corriendo.● Disponible para ARM. ● Puede correrse en forma virtual en QUEMU.

Page 13: Sistemas Operativos Orientados a Objetosmaterias.fi.uba.ar/7508/Teoria-2007/OOos.pdf · 75-08 Sistemas Operativos FIUBA 2007 Prof. Lic. Ing. Osvaldo Clíúa 12 Choices (2) Cada SubSistema

75-08 Sistemas OperativosProf. Lic. Ing. Osvaldo ClíúaFIUBA 2007 13

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.

Page 14: Sistemas Operativos Orientados a Objetosmaterias.fi.uba.ar/7508/Teoria-2007/OOos.pdf · 75-08 Sistemas Operativos FIUBA 2007 Prof. Lic. Ing. Osvaldo Clíúa 12 Choices (2) Cada SubSistema

75-08 Sistemas OperativosProf. Lic. Ing. Osvaldo ClíúaFIUBA 2007 14

JNode

● Extensible por Plugins.

Page 15: Sistemas Operativos Orientados a Objetosmaterias.fi.uba.ar/7508/Teoria-2007/OOos.pdf · 75-08 Sistemas Operativos FIUBA 2007 Prof. Lic. Ing. Osvaldo Clíúa 12 Choices (2) Cada SubSistema

75-08 Sistemas OperativosProf. Lic. Ing. Osvaldo ClíúaFIUBA 2007 15

Jx

http://www4.informatik.uni-erlangen.de/Projects/JX/publications/jx-usenix-slides.pdf

Page 16: Sistemas Operativos Orientados a Objetosmaterias.fi.uba.ar/7508/Teoria-2007/OOos.pdf · 75-08 Sistemas Operativos FIUBA 2007 Prof. Lic. Ing. Osvaldo Clíúa 12 Choices (2) Cada SubSistema

75-08 Sistemas OperativosProf. Lic. Ing. Osvaldo ClíúaFIUBA 2007 16

C# y Singularity

● 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.