Loading presentation...

Present Remotely

Send the link below via email or IM

Copy

Present to your audience

Start remote presentation

  • Invited audience members will follow you as you navigate and present
  • People invited to a presentation do not need a Prezi account
  • This link expires 10 minutes after you close the presentation
  • A maximum of 30 users can follow your presentation
  • Learn more about this feature in our knowledge base article

Do you really want to delete this prezi?

Neither you, nor the coeditors you shared it with will be able to recover it again.

DeleteCancel

Make your likes visible on Facebook?

Connect your Facebook account to Prezi and let your likes appear on your timeline.
You can change this under Settings & Account at any time.

No, thanks

Comunicacion en Amoeba

No description
by

on 4 November 2013

Comments (0)

Please log in to add your comment.

Report abuse

Transcript of Comunicacion en Amoeba

Amoeba es un sistema operativo distribuido; éste permite que una colección de CPU y equipo de E/S se comporten como una computadora.
Administración de memoria en AMOEBA
Comunicación en Amoeba
RPC (Llamada a procedimiento remoto)
CG (Comunicación en grupo)
INTRODUCCIÓN A AMOEBA
OBJETOS Y POSIBILIDADES
ADMINISTRACIÓN DE PROCESOS EN AMOEBA
Razones del diseño
RPC
Una llamada a procedimiento remoto consiste en algo más que un intercambio de mensajes pedido / respuesta.
Se deben de tener en cuenta ciertas características en cuanto RPC:
el cliente debe colocar su CAPACIDAD
código de operación
parámetros en el buffer de pedidos
al recibir la respuesta debe desempaquetar los resultados
Historia de Amoeba
Objetivos de investigación
Arquitectura del sistema Amoeba
El micronúcleo de Amoeba
Servidores de Amoeba
Ejemplo: Red Eléctrica Inteligente
Comunicación en Grupo:
Un grupo en amoeba consta de uno o mas procesos que cooperan juntos para llevar a cabo cierta tarea o proporcionar un servicio
Sus características son:
Son grupos cerrados
Tienen que usar un RPC con alguno de los miembros del grupo
Se selecciona un líder dentro del grupo que asigna las tareas para realizar los procesos o los servicios.
Ejemplo: Pelotón del Ejercito.
Comandos para el manejo de RPC en Grupos


Fue diseñado con el objetivo de que partiendo de un conjunto de máquinas hacer que estas se comporten como un único sistema integrado.

Amoeba utilizar un protocolo de red de alto rendimiento llamado FLIP. (Fast Local Internet Protocol).


A pesar de que dispone de una emulación UNIX y de que tiene bastantes comandos similares a los de Unix no se trata realmente de un sistema operativo Unix.
Protocolo de Transmisión Confiable de Amoeba
Comunicación en grupo tolerante a fallos
Protocolo FLIP
Objetivos de investigación
La mayoría de los proyectos de investigación de sistemas operativos distribuidos
parten de otro existente
, solo agregando nuevas características como el uso de redes y un sistema compartido de archivos para hacerlo más distribuido.
Protocolo FLIP en 5 Maquinas
Se originó en 1981 en la Universidad de Vrije en Amsterdam, Holanda como proyecto de
investigación.

El servidor de TCP/IP


Aunque Amoeba usa el protocolo FLIP internamente para alcanzar prestaciones, a veces se ve obligado a utilizar TCP/IP:
Comunicar con los terminales X
Interactuar con otras máquinas Amoeba vía Internet (Vgr: correo electrónico)
El proyecto Amoeba partió de una idea
nueva a partir de ceros, sin tener que
ser compatible con otros SO,
para experimentar con nuevas
propuestas.

En 1983 se crea el primer prototipo
Amoeba 1.0

Arquitectura del SO Amoeba

Amoeba se diseño con 2 hipótesis respecto al hardware:

Los sistemas tendrán un número muy grande de CPU.
Cada CPU tendrá docenas de Megabytes de memoria.
Su segundo objetivo era poder realizar tareas de programación distribuida y paralela.

Amoeba está diseñado de forma que puedas trabajar con diferentes arquitecturas y sistemas heterogéneos.

El usuario tiene acceso desde una terminal X. El proposito es proporcionar a los usuarios terminales relativamente baratas y concentrar la pila de procesamientos para una mayor eficiencia.
Micronúcleo de Amoeba
El micronúcleo tiene cuatro funciones básicas.
Controlar los procesos e hilos.
Proporciona el soporte de la administración de memoria de bajo nivel
Soporta la comunicación
Controla la E/S de bajo nivel.
Los servidores de Amoeba
Todo lo que no se realiza dentro del núcleo, lo realizan los procesos servidores.
Como el sistema de archivos y otros dispositivos son independiente del núcleo, estos se pueden modificar fácilmente y ejecutar simultáneamente dependiendo las necesidades de los usuarios.


Se basa en los modelos cliente-servidor, en el cual, el cliente es escrito por los usuarios mientras el servidor por los progamadores.
Los objetos son controlados por los servidores. Cuando un proceso crea un objeto, el servidor que lo controla regresa al cliente una posibilidad protegida en forma cifrada para el objeto.

Todos los objetos del sistema, tanto
software como hardware tienen una protección, un nombre y son controlados por las posibilidades.

AMOEBA tiene un modelo de memoria en extremo sencillo.
Los procesos pueden contar con los segmentos que deseen.
Los segmentos no se intercambian ni se paginan.
Cada segmento se almacena de manera adyacente a los demás en la memoria.

Desempeño
El hecho de que un proceso este por completo contenido en la memoria hace mas rápida la RPC.
Todos los datos guardados en memoria en AMOEBA se encuentran ADYACENTES.
Este diseño ha permitido a AMOEBA lograr tasas de transferencia muy altas para RPC de gran tamaño.

Sencillez
Al no utilizar intercambio o la paginación, hace mas sencillo al sistema y hace que el núcleo sea mas pequeño y controlable.
Es una pieza encapsulada de datos en la que se lleva acabo ciertas operaciones bien definidas.
Son pasivos.
RPC (llamada a procedimiento remoto).
Cliente>RPC>servidor>objeto-
operación-parámetros.

Objeto:
Economía
Al paso de pocos años, las memorias utilizadas en las maquinas AMOEBA, serán mas baratas y con mas capacidad.
Segmentos
Posibilidades:
Las posibilidades identifican al objeto y lo dotan de protección.

Puerto del servidor
Objetos
Derechos
Verificación
Los tipos de respuesta.

1.-El pedido ha sido enviado y también ejecutado
2.- El pedido no ha sido enviado o ejecutado.
3.-El estado es desconocido.

Los procesos disponen de varias llamadas al sistema para el manejo de los segmentos:
crear
destruir
leer
escribir
Al crear un segmento, el proceso que hizo la llamada recibe a cambio una posibilidad.

Segmentos
Operaciones Estándar
Un segmento recién creado recibe un tamaño inicial, el cual puede ser cambiado durante la ejecución del proceso.
Es posible utilizar los segmentos para crear un servidor de archivos de la memoria principal.

Un proceso en Amoeba es un objeto, consiste de uno o más hebras que se ejecutan en paralelo.

Segmentos Asociados
La administración de procesos es controlada en 3 niveles distintos
1.-Servidores de procesos, hilos de núcleo que se ejecutan en cada máquina,
2.-Conjunto de Procedimientos de biblioteca (proporcionan una mejor interfáz para el usuario).
3.-Se utiliza el servidor de ejecución que hace la mayor parte del trabajo.
Hilos:


Es simplemente una tarea que puede ser ejecutada al mismo tiempo con otra tarea. En los sistemas operativos tradicionales cada proceso tiene un espacio de direcciones y un hilo de control.
Cuando se agrupan varios hilos son denominados Multihilos.
Un hilo es una secuencia de código en ejecución dentro del contexto de un proceso no pueden ejecutarse ellos solos.
Los espacios de direcciones virtuales en AMOEBA se construyen a partir de los segmentos.
Un segmento se puede asociar con el espacio de direcciones de dos o mas procesos a la vez.
El núcleo controla todos los hilos. La ventaja de este diseño es que cuando un hilo realiza un RPC, el núcleo puede bloquearlo y programar la ejecución de otro hilo del mismo proceso si alguno está listo.

La planeación del procesamiento es mediante prioridades.


La planeación del procesamiento de hilos se puede configurar con prioridad o para ejecutarse hasta terminar (es decir, que los hilos o hebras continúen su ejecución hasta bloquearse), conforme lo desee el proceso.

Los Servidores de AMOEBA
Todos los servidores estandar de AMOEBA se definen mediante un conjunto de procedimientos de resguardo
El Servidor de Archivos
El sistema de archivos se ejecuta como colección de procesos servidores.
El sistema de archivos estándar consta de 3 servidores: el servidor de archivos, el servidor de directorios y el servidor de replicas.
Servidor de Archivos
El servidor de archivos se diseño para ser muy rápido (de ahí su nombre en ingles bullet server).
El tamaño del Archivo Siempre se conoce al momento de su creación.
El servidor de archivos también soporta clientes que tienen muy poca memoria como para recibir o enviar archivos completos en una RPC.

¿Archivos Inmutables?
Para resolver este problema AMOEBA crea dos tipos de archivos diferentes: los archivos no comprometidos, que están en proceso de creación y comprometidos, que son permanentes.
La interfaz del servidor de Archivos
El servidor de archivos soporta 6 operaciones
Implantación del Servidor de Archivos
El servidor de archivos mantiene una tabla de archivos con una entrada por cada uno de estos. Toda la tabla se lee en la memoria cuando arranca el servidor de archivos y se mantiene ahí mientras el servidor de archivos este ejecutándose.
El servidor de Directorios
La colocación de nombres y otros objetos se controlan mediante el servidor de directorios.
. Su principal función consiste en proporcionar una asociación entre los nombres legibles para los humanos (ASCII) y las posibilidades.
Directorio Raíz
En AMOEBA, cada usuario tiene su propio directorio RAIZ.
La interfaz del Servidor de Directorios
El Servidor de Replicas
Los Objetos controlados por el servidor de directorios se pueden duplicar en forma automática mediante el servidor de replicas.
El servidor de replicas se mantiene en ejecución en un plano secundario.
Servidor de Ejecución
Este servidor toma dos decisiones:
¿En Que tipo de arquitectura se debe ejecutar el proceso? (386,SPARC,680x0)
¿Cual procesador se debe elegir?
Cada servidor de ejecución controla una o varias pilas de procesadores

Visión al Futuro
Full transcript