Sie sind auf Seite 1von 19

UNIVERSIDA DE GUADALAJARA

CENTRO UNIVERSITARIO DE CIENCIAS EXACTAS E INGENIERIA

SISTEMAS OPERATIVOS AVANZADOS


PROYECTO FINAL
"AMOEBA"
ESTEBAN ALEJANDRO VARGAS ROSAS
304564251

HISTORIA

Amoeba se origino en Vrije Universiteit, Amsterdam, Holanda, en 1981,


como proyecto de investigacin en computo distribuido y paralelo. Diseado
por Andrew S. Tannenbaum y tres de sus estudiantes de doctorado, Frans
Kaashock, Sape J. Mullender y Robbert van Renesse, aunque muchas otras
personas contribuyeron en el diseo y la implantacin. En el ao de 1983, un
prototipo inicial, Amoeba 1.0, tena un nivel operacional.
A partir de 1984, el proyecto Amoeba se dividi y se estableci en un
segundo grupo en el Centro de Matemticas y Ciencias de la Computacin,
tambin en Amsterdam, bajo la direccin de Mullender. En los aos
siguientes, esta cooperacin se extendi a lugares de Inglaterra y Noruega
con un proyecto de sistema distribuido de rea amplia patrocinado por la
Comunidad Europea. Durante el estudio se utilizo Amoeba 3.0 que, a
diferencia de las versiones anteriores, se basa en RPC, al utilizar Amoeba 3.0
fue posible que los clientes tuvieran un acceso transparente a los servidores y
viceversa.
El sistema evoluciono durante algunos aos, adquiriendo
caractersticas como la emulacin parcial de UNIX, la comunicacin en grupo
y un protocolo nuevo de bajo nivel. Muchos de los proyectos de investigacin
en los sistemas operativos distribuidos han partido de un sistema existente y
agregando nuevas caractersticas como el uso de redes y un sistema
compartido de archivos para hacerlo ms distribuido. El proyecto Amoeba
sigui un mtodo diferente. Parti de un plan limpio y desarrollo un sistema
nuevo a partir de cero. La idea era tener un comienzo fresco y experimentar
nuevas ideas sin tener que preocuparse por la compatibilidad retroactiva con
cualquiera de los sistemas existentes. Para evitar el enorme trabajo de
escribir grandes cantidades de software de aplicacin, se aadi
posteriormente un paquete de emulacin de UNIX.

Una distincin importante entre Amoeba y la mayora de los dems sistemas


distribuidos es que Amoeba no tiene el concepto de "Maquina origen".
Cuando un usuario entra al tema, entra a ese como un todo y no una
maquina especifica. las maquinas no tienen propietarios. El shell inicial, que
se ejecuta al entrar el usuario, se ejecuta en cierta maquina arbitraria, pero al
ser iniciados los comandos, en general no se ejecutan en la misma mquina
donde se ejecuta el shell, el sistema busca de manera automtica la maquina
con la menor carga para ejecutar cada nuevo comando. Durante el curso de
una larga sesin en la terminal, los procesos que se ejecutan a cargo de un
usuario cualquiera estarn mas o menos dispersos en todas las maquinas del
sistema, dependiendo de la carga, es decir, Amoeba es muy transparente con
respecto a la ubicacin.

Caractersticas
Amoeba se diseo con dos hiptesis respecto al hardware:
1.- Los sistemas tienen un nmero muy grande de CPU
2.- Cada CPU tendr decenas de megabytes en memoria

Amoeba se basa en tomar todo el poder de computo se localiza en una o ms


pilas de procesadores, la cual consta de varios CPU, cada uno con su propia
memoria local y conexin a la red. No se necesita la memoria compartida, ni
siquiera se espera que exista, pero si est presente, se le utiliza para
optimizar la transferencia de mensajes al hacer el copiado de una memoria a
otra, en vez de enviar mensajes a travs de la red

Los CPU en una pila pueden tener distintas arquitecturas; por ejemplo, una
mezcla de maquinas 680x0, 386 o SPARC. Amoeba est diseado de forma
que puede trabajar con varias arquitecturas y sistemas heterogneos. Incluso
es posible que los hijos de un proceso se ejecuten en arquitecturas
diferentes.
La pila de procesadores no es tomada por usuario alguno. Cuando un usuario
escribe un comando, el sistema operativo asigna en forma dinmica uno o
ms procesadores para ejecutar ese comando. Al terminar el comando se
terminan los procesos y los recursos regresan a la pila, en espera del
siguiente comando, que muy probablemente sea de un usuario diferente. si
existe una reduccin en el numero de procesadores en la pila, se comparte el
tiempo de los procesadores individuales, de modo que los nuevos procesos
sean asignados al CPU con menor carga.
Otro componente importante de la configuracin de Amoeba son los
servidores especializados, como los servidores de archivos, que por razones
de hardware o software necesitan ejecutarse en un procesador aparte, en
ciertos casos es posible que un servidor se ejecute en un procesador de pila,
para que se inicie cuando sea necesario, pero por razones de desempeo es
mejor que se ejecute todo el tiempo.

Micro ncleo
Amoeba consta de 2 partes un micro ncleo que se ejecuta en cada
procesador, y una coleccin de servidores que proporcionan la mayor parte
de la funcionalidad de un sistema operativo tradicional.

El micro ncleo se ejecuta en todas las maquinas del sistema. El mismo


ncleo se utiliza en los procesadores de la pila, las terminales y los servidores
especializados. El micro ncleo tiene cuatro funciones bsicas:
1.
2.
3.
4.

Controlar hilos y procesos


Proporciona soporte a la administracin de memoria de bajo nivel
Soporta la comunicacin
Controla E/S de bajo nivel

Amoeba soporta el concepto de proceso. Amoeba soporta tambin


varios hilos de control dentro de un espacio de direcciones, un proceso con
un hilo es en esencia igual a un proceso en UNIX. Tal proceso tiene un
espacio de direcciones, un conjunto de registros, un contador de programa y
una pila.
La segunda tarea del ncleo es proporcionar la administracin de
memoria de bajo nivel. Los hilos pueden asignar o eliminar la asignacin de
los bloqueos de memoria, llamados segmentos. Estos segmentos se pueden

leer o escribir y ser asociados o desasociados al espacio de direcciones del


proceso al cual pertenece el hilo que realiza la llamada. Un proceso debe
poseer al menos un segmento, pero tambin puede tener varios, se pueden
utilizar para el texto, los datos, la pila o para cualquier otro fin que desee el
proceso.
La tercera tarea del ncleo es controlar la comunicacin entre
procesos, se dispone de dos formas de comunicacin: puntual y de grupo.
Ambas estn muy integradas entre s, de modo que sean lo ms parecidas
posibles, la comunicacin puntual se basa en el modelo de un cliente que
enva un mensaje a un servidor y despus se bloquea hasta que el servidor
envi una respuesta. Este intercambio solicitud/respuesta es la base para la
construccin de todo lo dems.
La otra forma de comunicacin es de grupo. Permite el envi de
mensajes de una fuente a varios destinos, los protocolos en software
proporcionan una comunicacin en grupo confiable y tolerante de fallas a los
procesos de usuario, en presencia de mensajes perdidos u otros errores.
La cuarta funcin del ncleo es la Administracin de la E/S de bajo
nivel, para cada dispositivo de E/S conectado a una maquina, existe un
controlador del dispositivo en el ncleo. Este controlador se encarga de toda
la E/S del dispositivo, los controladores estn ligados al ncleo y no se
pueden cargar de manera dinmica.
Los controladores de dispositivos se comunican con el resto del sistema
mediante los mensajes usuales de solicitud y respuesta, en general, el cliente
no tiene que saber que se comunica con un controlador, tanto el sistema de
mensajes puntuales como la comunicacin en grupo hacen uso de un
protocolo llamado FLIP, es un protocolo de capas de la red y fue diseado en
especial para cubrir las necesidades de computo distribuido, trabaja tanto
con la unitransmision como con la multitransmision en redes complejas.

Servidores Amoeba
Todo lo que no se lleva a cabo dentro del ncleo lo realizan los
procesos servidores, como el sistema de archivos y otros dispositivos no se
integran al ncleo, estos se pueden modificar con facilidad y se pueden
ejecutar en forma simultnea varias versiones para las distintas poblaciones
de usuarios.
Amoeba se basa en el modelo cliente-servidor, los clientes son escritos
en general por los usuarios, mientras que los servidores son escritos ir los
programadores del sistemas, el concepto de objeto es central en el diseo de
todo el software, un objeto es como un tipo de dato abstracto, cada objeto
consta de datos encapsulados, con ciertas operaciones definidas en ellos.
El servidor ms importante es el servidor de archivos ya que
proporciona las primitivas para la administracin de archivos, creacin,
lectura, eliminacin, etc. a diferencia de la mayora de los servidores de
archivos, los archivos creados son inmutables. Una vez creado, un archivo no
se puede modificar, pero si puede ser eliminado, los archivos inmutables
facilitan la rplica automtica, puesto que evitan muchas de las condiciones
de competencia inherentes en la rplica de archivos sujetos a modificaciones
durante tal proceso.
Administracin de procesos
Un proceso en Amoeba es bsicamente un espacio direcciones y una
coleccin de hilos que se ejecuten en el. un proceso con un hilo es muy
semejante a un proceso UNIX o en MS-DOS, en trminos de su
comportamiento o funcin.
Son un objeto, al crearse el proceso padre obtiene una posibilidad para
el proceso hijo, al igual que con cualquier otro objeto recin creado mediante
esta posibilidad, el hijo se puede suspender, reiniciar o destruir.
Algunas de las llamadas para la administracin de procesos utilizan una
estructura de datos llamada descriptor del proceso donde se proporciona la

informacin relativa a un proceso que esta por ejecutarse. Un campo del


descriptor del proceso indica las arquitecturas de CPU donde se puede
ejecutar el proceso.

Hilos
Amoeba soporta un modelo sencillo de hilos, al iniciar el proceso, este tiene
al menos un hilo durante la ejecucin el proceso puede crear ms hilos y los
existentes pueden terminar su labor. As el numero de hilos es dinmicos, al
crearse uno nuevo, los parmetros de la llamada especifican el
procedimiento por ejecutar y el tamao de la pila inicial.
Si un hilo desea crear y utilizar variables globales a todos sus
procedimientos pero invisibles para los dems hilos, se dispone de
procedimientos de biblioteca para tales fines, tales variables son locales. Un

procedimiento de biblioteca asigna un bloque de memoria glocal del tamao


necesario y regresa un apuntador a l. Se hace referencia a los bloques de
memoria glocal mediante enteros en vez de cadenas. Se dispone de una
llamada al sistema para que un hilo adquiera su apuntador glocal.
Se dispone de tres mtodos para la sincronizacin de hilos:
-Seales: interrupciones asincronas que se envian de un hilo a otro en el
mismo proceso.
-Mutex: semaforo binario, puede tener uno de dos estados, cerrado o
abierto. El intento por cerrar un mutex abierto cierra este, el hilo que realiza
la llamada continua.
-Semaforos: mas lentos que los mutex, pero son necesarios en ciertas
ocasiones, funcionan de la manera usual, excepto qeu en este caso existe una
llamada adicional para permitir que termine el tiempo de operacion DOWN.
MEMORIA
Se tiene un mtodo de memoria sencillo. Un proceso puede tener el numero
de segmentos que desee y estos se pueden localizar en cualquier parte dl
espacio de direcciones virtuales del proceso. Los segmentos no se
intercambian ni se paginan por lo que un proceso debe estar por completo
contenido en la memoria para su ejecucin. aunque utiliza MMU, cada
segmento se almacena de manera adyacente a los dems en la memoria.
Este diseo se realizo asi por tres razones: Desempeo, sencillez y economia.
El hecho de que un proceso este por completo contenido en la memoria hace
mas rapida la RPC, el hecho de no utilizar el intercambio o la paginacion hace
mas sencillo al sistema y hace que el ncleo sea mas pequeo y controlable,
la memoria sera tan barata que al cabo de pocos aos es probable qeu toas
las maquinas Amoeba tengan cientos de megabytes de la misma.

COMUNICACION
Amoeba soporta dos formas de comunicacin RPC, mediante
tranferencia puntual de mensajes y la comunicacin en grupo, en el nivel mas
bajo una RPC consta de un mensaje de solicitud seguido de un mensaje de
respuesta. La comunicacin en grupo tiliza la transmision en hardware o
multitransmision si se dispone de esta en caso contrario, la simula de manera
transparente mediante mensajes individuales.

RPC
La comunicacin puntual en Amoeba consta de un cliente que enva un
mensaje a un servidor, seguida de una respuesta del servidor al cliente. No es
posible que un cliente enve un mensaje y despus haga otra cosa, excepto al
pasar por alto la interfaz RPC, lo cual ocurre slo bajo circunstancias muy

especiales. La primitiva que enva la solicitud bloquea cn forma automtica al


proceso que hizo la llamada hsta recibir de regreso la respuesta, lo cual
obliga la existencia de cierta estructura en los programas. Las primitivas
independientes send y receive se pueden pensar como la respuesta de los
sistemas distribuidos al enunciado goto: programacin Spaghetti en paralelo.
Deben ser evitados por los programas del usuario y utilizarse slo mediante
los sistemas de tiempo de ejecucin del lenguaje que tienen requisitos de
comunicacin poco usuales.
Cada servidor estndar define una interfaz de procedimientos que los
clientes pueden llamar. Estas rutinas de biblioteca son resguardos que
empaquetan los parmetros en mensajes y llaman a las primitivas del ncleo
para enviar en realidad el mensaje. Durante la transmisin de ste, el
resguardo, y por tanto el hilo que hace la llamada, se bloquea. Al regresar la
respuesta, el resguardo regresa al cliente el estado y los resultados.
Primitivas de RPC
El mecanismo RPC utiliza principalmente tres primitivas del ncleo:
l. get_request, indica la disposicin de un servidor para escuchar a un puerto.
2. put_reply, llevada a cabo por un servidor cuando tiene un mensaje que
desea enviar.
3. Trans, enva un mensaje del cliente al servidor y espera la respuesta.
Los servidores utilizan las dos primeras. Los clientes utilizan la tercera para
transmitir unmensaje y esperar una respuesta. Las tres son verdaderas
llamadas al sistema; es decir, no funcionan mediante el envo de un mensaje
a un hilo del servidor de comunicaciones. (Si los procesos pueden enviar
mensajes, por qu tendrian que contactar con un servidor con el fin de
enviar un mensaje?) Sin embargo, los usuarios tienen acceso a las llamadas
mediante procedimientos de biblioteca, como de costumbre.

Cuando un servidor desea irse a dormir en espera de que llegue una solicitud,
llama a gel_request. Este procedimiento tiene los tres parmetros siguientes:
get_request(&header, buffer, bytes)
El primero apunta al encabezado de un mensaje, el segundo a un buffer de
datos y el tercero indica el tamao del buffer. Esta llamada es similar a
read(fd, buffer, bytes)
en UNIX OMS-DOS, en donde el primer parmetro identifica lo que se lee, el
Segundo proporciona un buffer donde colocar los datos y el tercero indica el
tamao del buffer.
Cuando se transmite un mensaje a travs de la red, ste contiene un
encabezado y (de manera opcional) un buffer de datos. El encabezado es una
estructura fija de 32 bytes y se muestra en la figura 7-8. Lo que hace el
primer parmetro de la llamada guet_request es indicar al ncleo dnde
colocar el encabezado que est por recibir. Adems, antes de hacer la
llamada get_request, el servidor debe inicializar el campo Puerto del
encabezado para que contenga al puerto que est escuchando. Esta es la
razn por la cual el ncleo sabe cul servidor est escuchando a cul puerto.
El encabezado recibido esoribe encima del iniciado por el servidor.

El encabezado utilizado en todos los mensajes de solicitud y respuesta en


Amoeba. Los nmeros entre parntesis proporcionan los tamaos del campo
en bytes. Al llegar un mensaje, el servidor elimina su bloqueo. Lo normal es
que primero inspeccione el encabezado para saber ms de la solicitud. El
campo Firma est reservado confines de autenticacin, pero no se utiliza por
el momento. Los dems campos no estn especificados por e] protocolo RPC,
de modo que un cliente y un servidor se pueden poner de acuerdo para
utilizarlos en la forma que deseen.
COMUNICACION EN GRUPO
Ya que RPC no es la unica forma de comunicacin soportada, tambin
se soporta la comunicacin en grupo, el cual consta de uno o mas procesos
que cooperan para llevar a cabo cierta tarea o proporcionar algun servicio.
Los procesos pueden ser miembros de varios grupos al mismo tiempo. Los
grupos son cerrados lo que significa que slo los miembros pueden realizar
transmisiones al grupo. La forma usual para que un cliente tenga acceso a un

servicio proporcionado por un grupo es que realice una RPC con alguno de
sus miembros. Ese miembro utiliza entonces la comunicacin en grupo
dentro del mismo, en caso necesario, para determinar Io que debe realizar
cada miembro.
Este diseo se eligi para obtener mayor grado de transparencia que en el
caso de una estructura de grupos abiertos. La idea detrs de } es que los
clientes utilizan por lo general la RPC. para conversar con servidores
individuales, por lo que tambin utilizan RPC para conversar con los grupos.
La alternativa (grupos abiertos y el uso de RPC para comunicarse con un
Servidor pero utilizar comunicacin en grupo para hablar con los servidores
del grupo) es mucho menos transparente. (El uso de la comunicacin en
grupo para todo eliminara las mltiples ventajas de RPC ya analizadas.) Una
vez determinado que los clientes fuera de un grupo utilizarn RPC para
hablar con el (en realidad, para hablar con un proceso del grupo), desaparece
la necesidad de los grupos abiertos, por lo cual son adecuados los grupos
cerrados, que adems son ms fciles de implantar.
PROTOCOLO INTERNET FAST LOCAL (FLIP)
Amoeba utiliza el protocolo adaptado llamado FLIP (siglas en ingles del
Protocolo local rapido internet) para la transmision real de los mensajes. Ete
protocolo controla tanto la RPC como la comunicacin en grupo y esta por
debajo de ellos en la jerarquia de protocolos. En trminos de OSI, FLIP es un
protocolo con capas de red, mientras que la RPC es mas un protocolo de
sesin o transporte sin conexion. FLIP se puede reemplazar por cualquier
otro protocolo con capas de red, como IP, pero esto provocaria la perdida de
transparencia por parte de Amoeba. Aunque FLIP fue diseado en el contexto
de Amoeba, se pretende que sea util en otros sistemas
INTERFAZ FLIP
Protocolo FLIP y su arquitectura asociada fueron diseados para cubrir
todos estos requisitos, aque vemos cinco maquinas, dos en una Ethernet y
tres en un anillo de fichas. Cada maquina tiene un proceso usuario, desde A

hasta E. una de las maquinas se conecta a amas redes y funciona de manera


automtica como una compuerta. Las compuertas tambin pueden ejecutar
clientes y servidores, como los dems nodos.

Toda la comunicacin de bajo nivel en Amoeba se basa en las direcciones


FLIP. Cada proceso tiene exactamente una direccin FLIP: un nmero
aleatorio de 64 bits elegido por el sistema durante la creacin del proceso. Si
el proceso llega a emigrar, lleva su direccin FLIP con l. Si la red se configura
de nuevo en cierto momento, de modo que todas las mquinas tengan
nuevos nmeros o direcciones en la red (en hardware), las direcciones FLIP
permanecen sin modificacin. Es el hecho de que una direecin FLIP
identifica de manera nica aun proceso (y no a una mquina) lo que hace la
comunicacin en Amoeba insensible a los cambios en la topologa de la red y
el direccionamiento en la misma.
Una direccion FLIP es en realidad dos direcciones, una publica y otra privada,
relacionadas por Direccion-publica=DES(Direccion privada) donde DES son las
siglas en ingles del estandar para el ciframiento de datos.

RESUMEN
Amoeba es un nuevo sistema operativo diseado para hacer que una
coleccin de computadoras independientes aparezca ante sus usuarios como
un sistema de tiempo compartido. En general, los usuarios no estn
conscientes del sitio donde se ejecutan sus procesos (o incluso el tipo de CPU
utilizado), ni del sitio donde se almacenan sus archivos o las copias de ellos
mantenidas por razones de disponibilidad y desempeo. Sin embargo, los
usuarios explcitamente interesados en la programacin paralela pueden
explotar la existencia de varios CPU mediante la subdivisin de un solo
trabajo en varias mquinas.
Amoeba se basa en un microncleo que controla los procesos de bajo nivel,
la administracin de la memoria, la comunicacin y la E/S. El sistema de
archivos y el resto del sistema operativo se pueden ejecutar como procesos
usuario. Esta divisin del trabajo mantiene el ncleo pequeo y sencillo.
Amoeba tiene un mecanismo para nombrar y proteger a todos los objetos:
las posibilidades. Cada posibilidad contiene los derechos que indican las
operaciones permitidas mediante su uso. Las posibilidades se protegen por
cifrado mediante las funciones de un solo sentido. Cada una contiene un
campo para la suma de verificacin, la cual garantiza la seguridad de la
posibilidad.
Se soportan tres mecanismos de comunicacin: RPC y FLIP simple para la
comunicacin puntual y la comunicacin confiable en grupo para la
comunicacin entre varias partes. La RPC garantiza una semntica "al menos
una vez". La comunicacin en grupo se basa en la transmisin confiable
proporcionada por el algoritmo del secuenciador. Ambos mecanismos Se
soportan sobre el protocolo FLIP y estn fuertemente integrados. El FLIP
simple slo se utiliza en circunstancias especiales.
El sistema de archivos de Amoeba consta de tres servidores: el servidor de
archivos para el almacenamiento de stos, el servidor de directorios para
otorgar nombres y el servidor de replicas para la rplica de archivos. El

servidor de archivos mantiene archivos inmutables que se almacenan en


bloques adyacentes, en el disco y en el cach. El Servidor de directorios es un
servidor tolerante de fallas que asocia cadenas en ASCII con las posibilidades.
El servidor de rplicas controla la replica retrasada.
Comparativo( Ventajas-Desventajas)
La estrategia de Amoeba es la pila de procesadores y Sprite sigue el modelo
de estaciones de trabajo. Eso ha influenciado significativamente la
estructura de los ncleos y la asignacin de procesos.
Amoeba cuenta con un micro ncleo y Sprite con un ncleo monoltico. Los
procesos en Amoeba son automticamente distribuidos entre los
procesadores de la pila de procesadores. En Sprite cuando se ejecuta un
proceso, este se ejecuta en la estacin de trabajo donde se inicio, el usuario
tiene prioridad sobre sus recursos.
A pesar de que Sprite y Amoeba han seguido estrategias completamente
opuestas, es posible acercarlos, debido a sus posibilidades de configuracin.
Sprite puede correr una estacin de trabajo con una pila de procesadores con
desempeo semejante a Amoeba. La pila de procesadores de Amoeba no
tiene que ser necesariamente una unidad, un conjunto de computadoras
pueden formar parte de la pila de procesadores En trminos de
transparencia, Amoeba ofrece ms que Sprite. Amoeba es transparente en la
localizacin mediante su sistema de archivos, la asignacin de procesos a
procesadores y la replicacin lograda a travs de su servidor de directorio.
Sprite ofrece la transparencia de localizacin con su sistema compartido de
archivos, igualmente es transparente en su mecanismo de migracin de
procesos. Un sistema operativo hbrido, sera una opcin ms realista y
tomara las ventajas de ambas estrategias. Aunque seguramente esto
conllevara una perdida en desempeo. El equipo de diseo de Sprite, eligi
la estrategia que le permiti mayor compatibilidad con aplicaciones de UNIX,

logrando que se ejecuten sobre su entorno un gran nmero de aplicaciones,


pero esto deterior y limit su funcionalidad. En Amoeba se apost por crear
un nuevo enfoque, que les ha permitido, construir un sistema operativo ms
transparente y con una personalidad distribuida.
VENTAJAS-DESVENTAJAS
Ameba es un completo y novedoso sistema operativo distribuido construido
como una coleccin de userlevel servidores soportados por el microncleo.
Mach y Chorus son principalmente diseos microncleo orientados a la
emulacin de sistemas operativos existentes, en particular UNIX, en un
sistema distribuido. Mach, Chorus y Amoeba tienen en comn muchos
objetivos generales, incluyendo el soporte de red transparencia, gestin de
los recursos encapsulados y a nivel de usuario los servidores.
En Mach y Chorus, algunos objetos son administrados por el kernel y otros de
nivel de usuario, mientras que todos los servidores objetos Amoeba se realiza
fuera del kernel. Chorus permite que el usuario de servidores de nivel de
carga de manera dinmica en el espacio de direcciones del ncleo. Mach,
Chorus y Amoeba separadas todas las abstracciones de procesos y
subprocesos. Mach y Chorus puede tomar ventaja de un multiprocesador. La
interfaz Amoeba de kernel es muy simple, debido a su sencillo modelo de
comunicacin y la falta de apoyo para la memoria virtual.
El kernel de Mach Chorus ofrecen muchas ms llamadas debido a sus
modelos ms complejos de comunicacin y el deseo de emular UNIX.
Nombres y proteccin de los recursos: recursos protegidos estn nombrados
y en sus capacidades en Amoeba y Chorus y por los puertos de Mach.
Recursos identificados en sus capacidades en Amoeba y Chorus se accede
mediante el envo de un mensaje al puerto apropiado del servidor y el
servidor accede a los recursos identificados en la capacidad.
En Mach, los servidores generalmente gestionan muchos puertos, uno para
cada recurso. Se accede a los recursos mediante el envo de mensajes a los
puertos correspondientes. Capacidades que por s mismas no son adecuadas

para la realizacin de las especie de identidad control de acceso basado en


sistemas de archivos UNIX. El kernel de Chorus proporciona proteccin para
identificadores userlevel para habilitar servicios para autenticar el actor que
ha enviado un mensaje y el puerto utilizado por ese actor.
Los puertos Mach tienen la capacidad de conferir derechos de envi y
recepcion sobre el proceso que poseen. Sin embargo, a diferencia de la
Amoeba y Chorus los identificadores de puertos , los cuales pueden ser
libremente construidas y manipulado a nivel de usuario, los derechos de los
puertos Mach se almacenan en el interior del ncleo y son protegidos por la
misma, permitiendo un rpido acceso. Pero el kernel Mach tiene el gasto
adicional de procesamiento de los derechos de los puertos de mensajes.
PREGUNTAS
A) Menciona las cuatro funciones del Micronucleo Amoeba
1.
2.
3.
4.

Controlar hilos y procesos


Proporciona soporte a la administracin de memoria de bajo nivel
Soporta la comunicacin
Controla E/S de bajo nivel

B) Cuales son las dos formas de comunicacin soportadas en Amoeba


RPC y Comunicacion en grupo

C) Que significa FLIP


Fast local internet protocol

Das könnte Ihnen auch gefallen