INDICE
A
......................... Historia
A1........................ Princios de Diseño
A2........................ Componentes del Sistema
B........................
Administraciòn de Procesos
B1.......................
Estructura Bàsica
B2.......................
El paquete de Hilos C
B3
...................... El planificador de la UCP
B4
...................... Manejo de excepciones
C
........................ Comunicación Entre Procesos
C1
...................... Puertos
C2
...................... Mensajes
C3
..................... El servidor de mensajes en red
C4
..................... Sincronizador por
medio de IPC
D1
..................... Administraciòn de Memoria
D2
...................... Estructura basica
D3
....................... Administraciòn d mmoria a nivel usuario
D4........................
Memoria compartida
E ........................ Interfaz con el
programador
E1........................
Detalles de implantación
F ........................ Resumen
Bibliografía :
Biblioteca Instituto Profesional La Araucana
Libro “ Sistemas Operativos “
Internet Trabajo Laboral
Buscador en Altavista : “ Sistemas Operativos
“
Opinión
Personal :
La información que se encuentra en este
documento explica de una manera fácil que es un sistema operativo, compara Unix
con funciones Básicas de Mach.
Además ofrece información detallada y
clara del sistema operativo Mach.
Por la complejidad del tema hay algunas
partes en este trabajo que fuerón
escritas textualmente como estaba la información original, ya habla de
funciones complejas.
Datos del
Alumno :
Juan Silva Saldías
04 –400 vespertino
SISTEMA OPERATIVO MACH
El sistema operativo Mach está diseñado para
incorporar muchas de las innovaciones recientes en el campo de los sistemas
operativos para producir un sistema operativo completamente funcional y de
tecnología avanzada. A diferencia de
unix, que se desarrolló sin tomar en cuenta el multiProcesamiento, Mach
incorpora en todas sus parte el apoyo al niultiprocesamiento. Este apoyo, también es muv flexible, y
abarca desde sistemas de memoria compartida hasta sistemas que no comparten
memoria entre los procesadores. Mach
está diseñado para ejecutarse en sistemas de computación que van desde uno
hasta miles de procesadores; además, puede transportarse fácilmente a diversas
arquitecturas. Uno de los objetivos
clave de Mach es ser un sistema operativo distribuido capaz de funcionar en
hardware heterogéneo.
Aun cuando se diseñan, construyen o utilizan muchos
sistemas operativos experimentales, Mach es capaz de satisfacer las necesidades
de las masas mejor que los demás, pues es completamente compatible con UNIX
4.3BsD, de manera que proporciona una oportunidad única para comparar dos
sistemas operatívos funcionalmente semejantes, pero internamente
diferentes. El orden y el contenido de
la presentación de Mach varía respecto a la de UNIX, para reflejar las
diferencias en el énfasis de cada sistema.
No hay una sección acerca de la interfaz con el usuario, puesto que es
similar al de 4.3BSD.
A .- Historia
Mach fue diseñado e implantado en Carnegie-Mellon
University (cmu) con el apoyo de la Agencia de Proyectos de Investigación
Avanzados del Departamento de Defensa de Estados Unidos (DARPA, Defense
Advanced Research Projects Agency), esta organización fue la
responsable del desarrollo de las versiones recientes de UNIX BSD. Debido al gran número de características que
se incorporaban en su núcleo, BSD se estaba convirtiendo en algo difícil de manejar,
por lo que el interés de DARPA se centró en el trabajo realizado en cmu,
específicamente en el aspecto de la reducción del tamaño del núcleo. DARPA proporcionó fondos para que cmu
desarrollara Mach como una alternativa de BsD más estructurado y pequeña.
Mach está basado en el sistema operativo
Accent, antes desarrollado en cmu.
Accent no era el tipo de sistema operativo que buscaba DARPA, pues
carecía del apoyo para 4.3BSD, era difícil de transportar y no contaba con una
integración de transferencia de mensajes y memoria virtual de propósito
general. Muchos de los conceptos
básicos de Mach se basan en el trabajo de Accent, pero han sido modificados
sustancialinente.
En 1986 se presentó la primera versión de Mach para
la familia de computadores DEC VAX, incluyendo las versiones multiprocesadores
de VAX; POCO después aparecieron
versiones para el IBM RT Pc y las estaciones de trabajo SUN.
En 1987 surgieron las versiones Encore Multimax y
Sequent, con apoyo total para multiprocesamiento, y las primeras versiones
oficiales, Release 0 y Release 1. Hasta ese momento, todas las máquinas que
ejecutaban Mach tenían un diseño de acceso uniforme a memoria (Uma, Uniform
Memory Access); es decir, apoyaban los sistemas multiprocesadores
con procesadores que tenían acceso uniforme a la memoria del sistema.
La versión Release 2 fue más allá, y Mach se
transportó a sistemas con acceso no uniforme a memoria (Numa, Non-Uniform
Memory Access), donde los procesadores comparten la memoria,
pero cada uno tiene acceso limitado, o no tiene acceso, a parte de la memoria
en el sistema. Release 2 también
comenzó la tarea de "nuclearizar" UNIX, aunque el esfuerzo no sería
evidente hasta la Release 3, en 1990.
La Release'2 ofrece compatibilidad con 4.3BSD incluyendo la mayor parte
de éste en el núcleo; los niveles inferiores de BSD se sustituyen por los
conceptos e implantaciones de Mach.
Así, la Release 2.5 es en realidad más grande que el núcleo de BSD. A partir de Release 2.5, Mach está
disponible en una amplia gama de máquinas, incluyendo algunas SUN, Intel, IBM y
DEC de un solo procesador, y sistemas multiprocesadores DEC, Sequent y Encore.
Mach se puso a la vanguardia de las actividades de la
industria cuando en 1989 la Open Software Foundation (OSF) anunció que usaría
Mach como base para su nuevo sistema operativo, diseñado para competir con
System 5, Release 4, el sistema operativo elegido por los miembros de UI (UNIX
Internacional). A la OSF pertenecen
compañías tan importantes como IBM, DEC y HP; así mismo, Mach es el sistema
operativo de la estación de trabajo NEXT, obra de Steve jobs, famoso por el
computador Apple.
Por supuesto, en CMU continúa el desarrollo de
Mach. Con la próxima presentación de
Release 3, el proceso de nuclearización puede reducir el tamaño del núcleo a
una décima parte del de BSD.
Todo el
código BSD saldrá del núcleo y se colocará en uno o más procesos a nivel de
usuario, y el núcleo Mach sólo contendrá las nuevas características de bajo
nivel necesarias, para apoyar a BSD y otros sistemas operativos. Por ejemplo, será posible contar con
distintos entornos de sistema operativo (reescritos para utilizar las
características de Mach) que se ejecuten a nivel de usuario sobre Mach. Este enfoque es similar al concepto de
máquina virtual.
A 1.-
Principios de diseño
El sistema operativo Mach se diseñó para proporcionar
algunos mecanismos básicos de los que carece la mayoría de los sistemas
operativos actuales. El objetivo fue
diseñar un sistema operativo compatible con BSD y además,
sobresaliente
en las áreas siguientes:
· Apoyar
arquitecturas diversas, incluyendo multiprocesadores UMA, NUMA Y
NORMA (No
Remote Memory Access, sin acceso a memoria remota).
· Capacidad
para funcionar con velocidades cambiantes en redes entre computadores, desde
redes extendidas hasta redes locales de alta velocidad y multiprocesadores
fuertemente acoplados.
· Estructura
simplificada del núcleo, con pocas abstracciones; se supone que las
abstracciones son suficientemente generales para que puedan usarse en la
implantación de otros sistemas operativos sobre Mach.
. Operación
distribuida para proporcionar a los clientes transparencia de la red, y una
organización orientada a objetos, tanto interna como externamente.
. Administración de memoria y comunicación entre
procesos integradas para proporcionar un mecanismo de memoria y comunicación
directo y eficiente con una sola construcción.
. Apoyo a sistemas heterogéneos para que Mach sea
ampliamente disponible y operante en sistemas de computación de fabricantes
distintos.
Estructura de Mach Release 3.
. Los diseñadores de Mach han tenido una gran
influencia de BSD (y UNIX, en general), y los beneficios han sido:
· Una
sencilla interfaz con el programador, con un buen conjunto de primitivas o
servicios básicos, y un conjunto consistente de interfaces con los recursos del
sistema.
· Fácil
transportabilidad a una amplia gama de uniprocesadores.
. Una extensa
biblioteca de utilerías y aplicaciones.
. La
capacidad para combinar utilerías usando canales.
Por supuesto, se consideró que BSD presentaba varias
desventajas que había que mejorar:
. Un núcleo que se había convertido en depósito de
muchas características que con frecuencia eran redundantes y, por tanto,
difíciles de adnúnistrar y modificar.
· Objetivos
de diseño originales que hacían difícil proporcionar apoyo a multiprocesadores,
sistemas distribuidos y bibliotecas de programa compartidas; por ejemplo,
puesto que el núcleo estaba diseñado para uniprocesadores, no ofrecía capacidades
para aplicar cerraduras a código o datos que podrían emplear otros
procesadores.
· Demasiadas
abstracciones fundamentales que ofrecían una gran cantidad de medios similares
y conflictivos para lograr la misma tarea.
Debe destacarse que el desarrollo de Mach continúa
siendo una tarea de grandes proporciones; no obstante, los beneficios que se
pueden obtener de un sistema de este tipo también son considerables. El sistema operativo se ejecuta en muchas arquitecturas
de uno o varios multiprocesadores actuales, y debe ser fácil el transporte a
los que aparezcan en el futuro. Permite que los especialistas en computación
realicen experimentos en varias áreas, sin tener que desarrollar sus propios
sistemas operativos a la medida.
Estas áreas incluyen sistemas operativos,
bases de datos, sistemas distribuidos confiables, lenguajes multiprocesador,
seguridad e inteligencia artificial distribuida. En su presentación actual, Mach es por lo menos tan eficiente como
las principales versiones de UNIX al efectuar tareas similares, y muchas veces
es más rápido, una ventaja adicional que no habían contemplado los diseñadores.
A 2 .- Componentes del sistema