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