Sie sind auf Seite 1von 14

Estado del Arte de Sistemas

Operativos
Introduccin
En esta sesin hablaremos de 5 sistemas operativos distribuidos:

Mach: sistema de punta con un diseo flexible de memoria virtual.

Chorus: sistema de punta con diseo microkernel.

Emulacin Unix sobre Mach y Chorus.

Amoeba: sistema experimental en el que los objetos son protegidos por


capacidades.

Clouds: sistema cuyo principal objetivo es soportar el uso de objetos


distribuidos.

Mach

Proyecto de Carnegie Mellon, 1986.


Objetivos iniciales:
o Compatibilidad con Unix BSD.
o Proveer de facilidades avanzadas en el ncleo.
La versin 2.5 fu usada como base para OSF/1.
La versin 3 elimin el cdigo Unix del ncleo: emulacin.
Corre en 386, 486, DECstations, SPARCstations.

Caractersticas
Operacin con mquinas paralelas con memoria compartida.

Extensin transparente a operacin en red.

Servidores a nivel usuario. Los recursos son manejados a travs de


mensajes a puertos.

Emulacin de sistemas operativos.

Implementacin flexible de memoria virtual. Paginadores externos


pueden manejar la memoria.

Portabilidad. El cdigo dependiente de mquina ha sido aislado.

Abstracciones Mach

Puertos. Canal de comunicacin unidireccional que tiene asociada un


buffer. Se pueden enviar o recibir mensajes a travs de ellos.
Conjuntos de puertos. Puertos a los que una tarea puede accesar.
Tareas. Medio de ejecucin que contiene un espacio de direcciones
protegidas, y una coleccin de capacidades para accesar puertos.
Hilos. Las tareas consisten de hilos que pueden ejecutarse en paralelo
en diferentes procesadores de una mquina con memoria compartida.
Mensajes. Datos o peticiones de accesar recursos.
Dispositivos. Son accesados a travs de interfases de bajo nivel
exportadas por el ncleo.
Objetos memoria. Instancia de un tipo de datos abstracto.
Objetos memoria cache. Por cada objeto memoria, hay un objeto en el
ncleo que contiene un cache de las pginas residentes en memoria.
Puertos en Mach
Los puertos sirven para accesar recursos.
Hay 3 tipos diferentes de derechos para accesar un puerto:
o
Envo.
o
Envo una sla vez.
o
Recepcin.
En un puerto, a lo mucho una tarea posee derecho de recepcin, pero
varias pueden poseer derechos de envo.
Tareas e hilos en Mach
Las tareas son slo medios de ejecucin: slo los hilos en ellaspueden
ejecutar operaciones.
El modelo de creacin de una tarea es una extensin del fork() de Unix:
a travs de una tarea blueprint localizada en el procesador deseado.

Cuando un hilo es creado, se le asigna un puerto para accesar el ncleo.


Cuando un hilo sufre una excepcin, recibe un mensaje por un puerto
dedicado a ese fin.
Modelo de comunicacin de Mach
Un mensaje est compuesto de un encabezado de tamao fijo, seguido
por una lista variable de datos:

El encabezado est compuesto de:


o
Puerto destino.
o
Puerto respuesta.
o
Identificador de operacin.
o
Tamao de la lista de datos.
Cada dato en la lista puede ser:
o
Datos tipados.
o
Derechos sobre puertos. El receptor adquiere losderechos.
o
Apuntadores a datos.
El envo y recepcin de mensajes puede ser bloqueante o no, o usar
temporizadores:
mach msg(header, option, snd siz, rcv siz, rcv name, timeout, notify)
Los puertos tienen asociados buffers cuyo tamao puede ser ajustado.
Un intento de enviar un mensaje por un puerto cuyo buffer est lleno,
bloquea al hilo.
Los mensajes pueden ser recibidos en conjunto de puertos: se evita el
poleo.
El sistema de comunicacin es confiable y da los mensajes en orden.
Se usan servidores de red que corren a nivel usuario.
Un puerto de red permite enviar o recibir mensajes de computadoras
conectadas en red:

Los puertos de red manejan TCP/IP.


Manejo de memoria en Mach
Mach ve la memoria como una coleccin de grupos contiguos de pginas
o regiones.
Cuando una tarea es creada, se hereda memoria de la tarea blueprint.
Esta herencia es compartida o copiada.
La tcnica usada para copiar memoria es llamada copyonwrite: las
pginas son copiadas slo cuando son modificadas.

El microncleo de Mach no soporta archivos, por lo que se usan


paginadores externos.

Las funciones del paginador externo son:


1. Guardar datos eliminados por el ncleo de su cache.
2. Proporcionar pginas requeridas por el ncleo.

3. Imponer restricciones para mantener la consistencia de datos.


Protocolo ncleo (K)paginador (EP):

Conclusin Mach
+ Corre en computadoras secuenciales y paralelas en red.
+ Mantiene compatibilidad Unix.
Utilizacin compleja del ncleo.
? Uso del espacio de usuarios para implementar las comunicaciones.
? Uso del espacio de usuarios para implementar servidores.

Chorus
Proyecto del INRIA, 1979.
Version 3 con emulacin de Unix BSD: Chorus/MiX.
Modelo: red de computadoras monoprocesadoras y multiprocesadoras.
Corre en 386, Motorola 68030 y 88000, Transputers.
Caractersticas comunes con Mach
Operacin con mquinas paralelas con memoria compartida.
Microkernel, paso de mensajes.
Extensin transparente a nivel red.
Emulacin Unix y otros SOPs.
Implementacin flexible de memoria virtual.
Portabilidad.
Caractersticas adicionales
Servidores no necesariamente en nivel usuario.
Emulacin Unix con mejoras.
Servidores de grupos y reconfiguracin.

Sistemas Tiemporeal.
Abstracciones Chorus
Actores. Equivalente al concepto de tarea en Mach: medio de ejecucin
compuesto de hilos.
Puertos. Canal de comunicacin unidireccional que tiene asociada un
buffer. Los puertos pueden migrar entre actores.
Grupos de puertos. Puertos a los que una tarea puede mandar o
recibir datos.
Hilos. Las tareas consisten de hilos que pueden ejecutarse en paralelo
en diferentes procesadores de una mquina con memoria compartida.
Mensajes. Datos o peticiones de accesar recursos.
Regiones, segmentos, caches locales. La memoria de un actor es
dividida en regiones, los cuales pueden ser mapeados a porciones de
segmento. El ncleo guarda un cache local para cada segmento.

Actores e hilos en Chorus


Diferencia con Mach: los actores y los hilos pueden ser cargados
dinmicamente en el espacio del ncleo.
Los servidores tambin pueden ser cargados dinmicamente, ya sea en
el espacio usuario o en el espacio del ncleo.

Hay 3 tipos de privilegios para actores e hilos:


o
Usuario. Algunas llamadas sistema.
o
Sistema. Llamadas sistema.
o
Supervisor. Completo acceso.
Los actores son creados con mensajes a un puerto especial.
Modelo de comunicacin en Chorus
Los puertos de diferentes servidores pueden ser agrupados.
Existen 3 tipos de mensajes a grupos:
o + Multicast. A todos los miembros.

+ Funcional. A algn miembro del grupo.

+ Selectivo. A algn miembro del grupo localizado en el lugar


donde se encuentra un recurso.
Ej. utilizacin: servidores reconfigurables.
Existe tambin la facilidad de migrar puertos de un actor a otro.
Las comunicaciones pueden ser sncronas o asncronas.
Conclusin Chorus
+
Soporta
sistemas
tiempo
real.
+
Servidores
de
grupo
reconfigurables.
+ Menos dependiente que Mach de la existencia de hardware
especfico.
Estructura de mensajes menos flexible.
o

Emulacin de Unix
Compatibilidad binaria.
El espacio de memoria debe ser el mismo.
Simulacin de llamadas a sistema.
Proteccin de datos como en Unix.
Manejo de seales.
Emulacin de Unix en Mach
2 componentes: librera de emulacin y servidor 4.3 BSD.
El servidor es multihilos.

Emulacin de Unix en Chorus


Existen 4 actores manejadores: Procesos, Archivos,
Dispositivos y streams:

Amoeba

En desarrollo en Amsterdam, por alumnos de A. Tanenbaum, desde


1981.
Transparencia de red.
El modelo de arquitectura subyacente es una pila de procesadores.
Manejo de recursos orientado a objetos.
Servidores a nivel usuario.
Emulacin Unix a nivel fuente.
Proteccin basada en capacidades:

Modelo de comunicacin en Amoeba


Un proceso en Amoeba contiene hilos, puertos y segmentos de memoria.
Existen 3 operaciones:
o trans, para transmitir un mensaje a un servidor. La operacin es
bloqueante.
o get request, para que el servidor obtenga una peticin.
o put reply, para que el servidor responda.
Los puertos pueden ser compartidos entre varios servidores, y puede
haber grupos de servidores.
Existen 2 tipos de puertos: putports y getports.

El ncleo de Amoeba contiene rutinas para comunicarse en una interred


local, consistente de varias LANs unidas por puentes o gateways.
Para transmisin en WANs se utilizan libreras RPC basadas en protocolos
FLIP y request/reply.
El Fast Local Internet Protocol:
o provee un servicio de datagramas de mensajes de hasta 1 Gbyte.
o no hace control de flujo (stopandgo).
El protocolo Request Reply Acknowledge:
o reintenta peticiones no llegadas al servidor.
o cuando una respuesta llega, se manda un ACK.
o se aplica a mensajes multipaquetes.

Conclusin Amoeba
+ Implementacin RPC optimizada.
+ Servidores a nivel usuario.
+ Simplicidad del microkernel.
No compatibilidad binaria con Unix.
No hay manejo de memoria virtual.

Clouds

S. O. para uso de objetos distribudos, elaborado por Georgia Tech, 1986.


Microkernel

Objeto = rplica persistente en un servidor.


Considera 3 tipos de computadora:
o Estaciones de trabajo.
o Servidores de datos.
o Servidores de cmputo.

Balanceo de carga automtico.


Implementacin de hilos basada en ''mtodos'' para accesar objetos.

Estado del arte de los sistemas operativos mviles


En un artculo anterior tratamos de Android, a nuestro entender uno de los ms
potentes sistemas operativos para dispositivos mviles existentes en la
actualidad.
Android se presenta avalado por Google y con licencia GPL, frente a sus
competidores que ofrecen licencias ms restrictivas. Adems, es el sistema
operativo del telfono mvil Nexus One.
Adems de Android, existen serios competidores en el mercado de los sistemas
operativos para mviles, como son: Blackberry OS, WebOS, Symbian, iPhone Os
y Windows Mobile.
A continuacin os presentamos una breve descripcin de todos estos sistemas:
Android 1.6, creado por la Open Handset Aliance (liderada por Google), con
licencia software Apache de software libre y cdigo fuente abierto. Se
caracteriza por estar desarrollado sobre un ncleo Linux. Aspecto ms
destacable: es una plataforma abierta que permite a cualquier fabricante
desarrollar sus productos sobre ella.
iPhone OS 3.1, creado por Apple, con licencia propietaria. Aspecto ms
destacable: Ha marcado tendencia en el mundo de la tecnologa mvil y sigue
destacando en l gracias a su interfaz de usuario y a su gran aprovechamiento
de los recursos hardware del dispositivo sobre el que se ejecuta.
Symbian S60 v5, creado por Nokia, con licencia propietaria. A pesar de su
aspecto renovado no deja de ser una nueva versin del clsico
Symbian. Aspecto ms destacable:a pesar de estar desarrollado por Nokia se
puede encontrar en telfonos de otros fabricantes.
Web OS, creado por Palm, con licencia propietaria parcialmente liberada
como GPL. Se caracteriza por estar desarrollado sobre un ncleo Linux. Aspecto
ms destacable: est diseado expresamente para estar conectado
continuamente a Internet con una frecuencia muy elevada de sincronizacin de
contenidos en sus principales aplicaciones (email, redes sociales, etc).
Blackberry OS 5, creado por RIM, con licencia propietaria. Se caracteriza por
estar desarrollado en Java. Aspecto ms destacable: es el sistema operativo
lder en el sector empresarial, ya que est totalmente orientado al uso
profesional.
Windows Mobile 6.5, creado por Microsoft, con licencia propietaria. Una nueva
versin del clsico sistema operativo de Windows para mviles. Su aspecto
ms destacable es el gran nmero de aplicaciones existentes tanto gratuitas
como de pago.

Das könnte Ihnen auch gefallen