Sistema Operativo Mach
Sistema Operativo Mach
Sistema Operativo Mach
Historia
El proyecto Mach estaba asentado en la Universidad Carnegie-Mellon en USA hasta
1994, donde se desarroll hacia un ncleo en tiempo real. El proyecto fue continuado
por grupos de la Universidad de Utah y la Fundacin para el Software Abierto (OSF). El
proyecto Mach fue el sucesor de otros dos: RIG, desarrollado en la Universidad de
Rochester en la dcada de los aos setenta, y Accent, desarrollado en Carnegie-Mellon
durante la primera mitad de la dcada de los aos ochenta. A diferencia de sus
predecesores, el proyecto Mach nunca tuvo como objetivo el desarrollo de un sistema
operativo distribuido completo. En vez de esto, el ncleo Mach se desarroll para
proporcionar una compatibilidad directa con UNIX BSD, y recursos avanzados que
complementaran los de UNIX y que permitiera a una implementacin UNIX proliferar
sobre una red de multiprocesadores y computadoras monoprocesador. Desde el
principio, la intencin de los diseadores fue la de implementar la mayor parte de UNIX
mediante procesos de nivel de usuario.
A pesar de estas intenciones, la versin 2.5 de Mach, la primera de las dos principales
versiones, inclua todo el cdigo de compatibilidad con UNIX dentro del propio ncleo.
Se ejecutaba, entre otras computadoras, en SUN-3, IBM RT PC, sistemas
uniprocesadores y multiprocesadores VAX y en los multiprocesadores Encore Multimax
y Sequent. Desde 1989, Mach 2.5 fue incorporado como la tecnologa base para OSF/1,
el rival propuesto por la OSF para competir contra System V Release 4 como versin
estndar de UNIX para la industria.
A partir de la versin 3.0 del ncleo Mach se elimin el cdigo UNIX, esta versin es la
base de la implementacin de MkLinux, una variante del sistema operativo Linux para
computadoras Power Macintosh; se utiliza como soporte para la construccin de
emulaciones de sistemas operativos, sistemas de base de datos, sistemas de soporte de
lenguajes en tiempo de ejecucin y otros tipos de software de sistema que llamaremos
subsistemas. Procesos / objetos de aplicacin. La emulacin de sistemas operativos
convencionales permite ejecutar binarios ya existentes desarrollados para ellos. Adems
se pueden desarrollar nuevas aplicaciones para dichos sistemas operativos
convencionales. Al mismo tiempo, se puede desarrollar middleware y aplicaciones que
aprovechen las ventajas de la distribucin; y se pueden crear versiones distribuidas de
las implementaciones de los sistemas operativos convencionales. Surgen dos cuestiones
importantes en la emulacin de los sistemas operativos. La primera es que las
emulaciones distribuidas no pueden ser completamente exactas debido a los nuevos
modos de fallo que aparecen con la distribucin. La segunda, es la cuestin todava sin
resolver de si se pueden conseguir niveles de prestaciones aceptables para que su
utilizacin sea generalizada.
Qu es Mach?
Filosofa:
Diseo:
Objetivos:
Extensin transparente para operar en red: Para permitir que los programas
distribuidos se extiendan de forma transparente sobre mono y multiprocesadores en
una red, Mach ha adoptado un modelo de comunicacin independiente de la ubicacin
usando puertos como destino de la comunicacin. Sin embargo, el ncleo de Mach ha
sido diseado para ser 100% independiente de redes concretas. El diseo de Mach
confa en procesos servidores de red de nivel de usuario para el envo de mensajes de
forma transparente sobre la red (ver Figura 2). Se trata de una decisin de diseo
polmica dados los costos del cambio de contexto. Sin embargo, permite una absoluta
flexibilidad en el control de la poltica de comunicacin de la red.
Portabilidad: Mach fue diseado para ser portable sobre varias plataformas hardware.
Por esta razn, se trat de aislar, tanto como fue posible, el cdigo dependiente de la
mquina.
Hilos: Las tareas pueden contener mltiples hilos. Los hilos que pertenecen a una misma
tarea se pueden ejecutar en paralelo sobre diferentes procesadores en un
multiprocesador de memoria compartida.
Dispositivos: Los servidores de archivos que se ejecutan a nivel de usuario deben poder
acceder a los dispositivos. Para ello el ncleo exporta una interfaz de bajo nivel sobre
los dispositivos.
Objeto de memoria: Cada regin del espacio de direcciones virtuales de una tarea Mach
se corresponde con un objeto de memoria. Se trata de un objeto que normalmente est
implementado fuera del propio ncleo pero que es accedido por ste cuando realiza
operaciones de paginacin en la gestin de la memoria virtual. Un objeto de memoria
es una instancia de un tipo abstracto de datos que incluye operaciones de bsqueda y
almacenamiento de datos que se emplean cuando los hilos generan faltas de pgina en
el intento de hacer referencia a direcciones, en la regin correspondiente.
Stefan Savage, Hideyuki Tokuda. Mach en Tiempo Real: Ha llegado la hora de exportar
el usuario. Este documento est previsto que aparecen en las Actas del Tercer Simposio
Usenix Mach (Machnix), 19-21 de abril de 1993. El actual CMU microncleo Mach 3,0
exportaciones de simple retraso de hora y abstracciones a travs de acogida \ _GET \
_time () y un tiempo de parmetro a mach \ _msg ().Si bien esto es suficiente para
muchos propsitos, no ofrece la precisin o generalidad necesaria para una variedad de
aplicaciones de tiempo real. En el presente trabajo se describen las extensiones del CMU
a Mach 3,0 que ofrecen a los usuarios con horario flexible basada en la sincronizacin
de hora y servicios. Adems, vamos a describir cmo el calendario y la programacin de
servicios se integran para permitir aplicaciones de tiempo real para manejar el
calendario de fallas.
Hideyuki Tokuda, Tatsuo Nakajima, Prithvi Rao. Real-Time Mach: Hacia predecibles
Sistemas de Tiempo Real Proceedings of the USENIX 1990 Mach Workshop, October
1990. Actas de la USENIX Mach Workshop 1990, octubre de 1990.
Los Sistemas Distribuidos en tiempo real desempean un papel muy importante en
nuestra sociedad moderna. Se utilizan en los aviones de control, sistemas de
comunicaciones, mando militar y los sistemas de control, automatizacin de fbricas y
la robtica. Sin embargo, la satisfaccin de los rgidos plazos de varios requisitos en
tiempo real de actividades distribuidas en tiempo real a menudo requiere mtodos ad
hoc para afinar el comportamiento de sistemas en tiempo de ejecucin.
El objeto de Real-Time Mach es desarrollar un tiempo real de la versin del kernel Mach
que proporciona a los usuarios con un previsible y confiable distribuido en tiempo real
entorno informtico. En el presente trabajo se describe un modelo de hilo en tiempo
real, en tiempo real la sincronizacin, y el ITDS planificador en Tiempo-Real Mach. En l
tambin se debaten las cuestiones de aplicacin, en tiempo real el conjunto de
herramientas, y la situacin actual del sistema.