SlideShare une entreprise Scribd logo
1  sur  31
AMOEBA
Qué es Amoeba?
Es un sistema operativo de propósito
general. Está diseñado para tomar un
conjunto de máquinas y hacerlas
funcionar como un solo sistema
integrado.
Los usuarios no se dan cuenta del número y
localización de procesadores que corren sus
comandos.
Está propuesto para ambos:
- Computación distribuida: múltiples usuarios
independientes trabajan en diferentes
proyectos.
- Computación paralela: un usuario usando
50 CPU’s juega ajedrez en paralelo.
1. Objetivos del diseño
Las metas básicas del diseño fueron:
- Distribución : conectar juntas muchas
máquinas.
- Paralelismo : permitir a trabajos individuales
usar múltiples CPU’s fácilmente.
- Transparencia : tener una colección de
computadores actuando como un solo sistema.
- Rendimiento : archivar todo de una manera
eficiente.
2. Arquitectura del Sistema
Un típico sistema Amoeba consistirá de tres
clases funcionales de máquinas.
Primero cada usuario tiene su estación de trabajo
para correr la interfase de usuario, el sistema X
window. Esta estación de trabajo puede ser de
ingeniería, o una terminal especializada X.
Segundo existe un conjunto de procesadores que
son dinámicamente asignados a usuarios, como
son requeridos.
Estos procesadores pueden ser parte de un
multiprocesador o multicomputador, ser
una colección de computadores de una
sola tarjeta o un grupo de estaciones de
trabajo asignados para este propósito.
Tercero, hay servidores especializados
como son servidores de archivo y de
directorio que corren todo el tiempo. Ellos
pueden correr en un procesador del
conjunto de procesadores, o en hardware
dedicado, o como se desee.
3. CONCEPTOS FUNDAMENTALES EN
AMOEBA
3.1 Microkernel + arquitectura de Servidor.
Fue diseñado con arquitectura microkernel.
Esto significa que cada máquina en un sistema
Amoeba corre una pequeña, e idéntica pieza de
software llamada el Kernel. El kernel soporta
procesos básicos, comunicación y objetos
primitivos. También manipula dispositivos de I/O
y administración de memoria.
Así el sistema está estructurado como una
colección de procesos independientes. Algunos
de estos son procesos de usuario corriendo
aplicaciones de programa. Los procesos son
llamados clientes y otros servidores.
La función básica del microkernel es proveer un
ambiente en el cual clientes y servidores puedan
correr y comunicarse unos con otros.
3.2 Threads (hilos)
En muchos sistemas operativos tradicionales un
proceso consiste de un espacio de direcciones y
de un solo hilo de control. En Amoeba, cada
proceso tiene su propio espacio de direcciones,
pero puede contener múltiples “threads de
control”. Cada hilo tiene su propio contador de
programa y su propia pila, pero comparte código
y datos globales con otros hilos en sus
procesos.
3.3 Llamadas a procedimientos remotos RPC
Los hilos a menudo necesitan comunicarse unos
con otros. Los hilos en un solo proceso pueden
comunicarse vía memoria compartida, pero los
hilos ubicados en procesos diferentes necesitan
un mecanismo diferente. El mecanismo de
comunicación básico de Amoeba es el RPC. La
comunicación consiste de un hilo cliente
enviando un mensaje a un hilo servidor,
mientras el hilo servidor bloqueado envía un
mensaje de retorno, en el cual el cliente a la vez
es desbloqueado.
Amoeba tiene una librería especial de procedimientos
llamada stubs y es la que provee el servicio de acceso
remoto, además tiene un lenguaje especial llamado
Amoeba Interface Languaje (AIL) para generar
automáticamente estos procedimientos stub.
3.4 Comunicación en grupo.
Para muchas aplicaciones la comunicación, uno a varios
es necesaria, en el cual un solo transmisor envía un
mensaje a múltiples receptores. Amoeba provee una
facilidad básica, fiable en los grupos de comunicación
totalmente ordenado, en el cual todos los receptores
están garantizando conseguir todos los mensajes de
grupo en exactamente el mismo orden.
3.5 Objetos y capacidades
Hay dos conceptos fundamentales en Amoeba:
objetos y capacidades. Todos los servicios y
comunicación están en base a ellos.
Un objeto es conceptualmente un tipo de dato
abstracto. Esto es, un objeto es una estructura
de datos en el cual ciertas operaciones están
definidas. Por ejemplo, un directorio es un
objeto al cual ciertas operaciones pueden ser
aplicadas, como son “ingresar nombre” y “mirar
nombre”.
Cuando un objeto es creado, el servidor crea un
valor de 128 bit llamado una capacidad y retorna
al llamador. Las capacidades son protegidas
criptográficamente para prevenir interferencias.
Todos los objetos en el sistema son nombrados
y protegidos usando éste, un esquema simple y
transparente.
3.6 Administración de memoria
El modelo es simple y eficiente. Un espacio de direcciones
del proceso consiste de uno o más segmentos
mapeados a direcciones virtuales de un usuario
específico.
Cuando un proceso es ejecutado todos los segmentos
están en memoria. No hay paginación ni swapping en el
presente, así solamente puede correr programas que
quepan en la memoria física.
La primera ventaja de este esquema es simplicidad y alto
rendimiento. La primera desventaja también es que no
es posible correr programas más grandes que la
memoria física.
3.7 Entrada/Salida
E/S es también manipulada por los hilos del
kernel. Para leer bloques desde un disco,
por ejemplo, un proceso de usuario tiene
la autorización apropiada, hace RPC con
un hilo de disco E/S en el kernel.
4. Software fuera del kernel
El trabajo del microkernel de Amoeba es soportar
hilos, RPC, administración de memoria y E/S.
4.1 Servidor de archivos Bullet
El servidor de archivos ha sido diseñado para alto
rendimiento y es llamado el servidor Bullet.
Almacena archivos contiguamente en disco,
excepto para archivos muy grandes.
Debe existir una máquina con 16 Mb de RAM
dedicada para este fin.
4.2 Servidor de directorios.
El contraste a algunos sistemas operativos
el manejador de archivos y archivo de
nombres están separados en Amoeba.
4.3 Compiladores
Existen los compiladores de C estándar,
Pascal, Modula 2, BASIC y Fortran 77.
4.4 Programación en paralelo
Un nuevo lenguaje llamado Orca ha sido
desarrollado y permite a los programadores
crear sus propios tipos de datos en
cualquier proceso en diferentes máquinas
en rutas compartidas controladas. Las
operaciones en cada objeto son ejecutadas
en cada ruta para proveer la ilusión de la
existencia de una sola copia compartida por
todas las máquinas.
4.5 Utilidades
Amoeba provee un gran número de
utilidades modelados después de los
programas que vienen con UNIX. Entre
otros, estos incluyen awk, basename, cal,
cat, ediff, chmod, cmp, comm, compress,
cp, cpdir, rm, rmdir, time, who, tty, tail, tar,
etc.,y muchos otros
4.6 Emulación UNIX
Para ayudar a los programas UNIX de
puertos en el ambiente Amoeba, una
librería de emulación, llamada Ajax, ofrece
mejor compatibilidad con POSIX P1003.1.
Algunos programas que conforman POSIX
trabajan sin modificación. Ellos simplemente
tienen que ser compilados y enlazados en
Amoeba.
4.7 TCP/IP
Si bien el mecanismo básico de
comunicación en Amoeba es el
protocolo Amoeba FLIP, un servidor
especial es proveído para permitir la
comunicación TCP/IP por medio de
RPC’s al servidor TCP/IP. De esta
manera las máquinas pueden ser
accedidas por medio del Internet.
4.8 X Windows
La interfase de usuario de Amoeba es el
estándar de la industria el Sistema X
Window (X11R6). Para servidores X
corriendo en estaciones de trabajo, una
versión especial de X está disponible
aquel usa el Amoeba RPC para
comunicaciones de alto rendimiento.
4.9 Conexión a UNIX.
Un driver especial para UNIX es proveído
con Amoeba que puede enlazar al kernel de
Unix de SunOS 4.1.1 (o superior),
permitiendo a los programas UNIX
comunicarse con los programas de
Amoeba.
5. ASPECTOS NO TÉCNICOS DE
AMOEBA
5.1 Disponibilidad del código fuente.
Todas las distribuciones académicas de
Amoeba contienen el código fuente
completo. Los binarios para el soporte de
las máquinas son también incluidos.
5.2 Amoeba sin las trabas de la licencia
AT&T
Amoeba fue escrito de la nada. Aunque se
provee de una emulación POSIX, no
contiene código AT&T de ninguna clase.
5.3 Documentación
Amoeba viene con una documentación
sobre las 1000 páginas. Están organizadas
en varios volúmenes.
Consta de :
•Una colección de papeles científicos describen
las ideas básicas.
•Una guía de usuario.
•Una guía del programador
•Una guía del sistema administrador
Toda la documentación está libremente
disponible desde:
http:// www.am.cs.vu.nl/
5.4 Máquinas en las que corre Amoeba
Amoeba actualmente corre en las
siguientes arquitecturas:
•Sun 4c y MicroSPARC SPARCstations
•Intel 386/486/Pentium/Pentium Pro (IBM
AT bus, PCI bus)
•Tarjetas 68030 VME – bus
•Estaciones de trabajo Sun 3/60 & Sun
3/50
5.5 Configuración requerida.
Amoeba es un sistema distribuido
heterogéneo. Aunque en teoría trabaja en
una sola máquina, en la práctica más de
una máquina es requerida.
Recomendamos por lo menos 5
máquinas: un servidor de archivos, una
estación de trabajo y 3 conjuntos de
procesadores.
Configuración mínima para sistemas
386/486/Pentium.
Servidor de archivos: >= 16MB RAM, un disco de
300 MB, unidad floppy 3.5”, tarjeta ethernet,
tarjeta VGA, teclado, monitor, ratón.
Estación de trabajo: >= 8 MB RAM, tarjeta
ethernet, tarjeta VGA, teclado, monitor, ratón.
Conjunto de procesadores: >= 4 MB RAM, unidad
floppy 3.5”, tarjeta ethernet.
Soporte a tarjetas ethernet: SMC/WD 8013, NE
2100, NE2000, 3Com 503
5.6 Precio
Amoeba es gratuito para universidades
que tienen acceso FTP o WWW.
Conjuntos de manuales pueden ser
impresos por 500 US.
Licencia comercial y soporte está proveído
por ACE, b.v. en Amsterdam.
5.7 Soporte
Aunque Amoeba es todavía un sistema
experimental, en vez de calidad de
producción y producto pulido (por ejemplo
la emulación UNIX no está completa al
100%), puede ser usado tranquilamente
por cualquiera que esté interesado en
sistemas distribuidos.
5.8 Procedimiento de orden
Amoeba está disponible para
universidades bajo licencia “shrink-wrap”
en la cual la universidad está de acuerdo
usar Amoeba solamente para educación.
Para el acceso FTP se debe registrar y
obtener el nombre y el password. Esto se
hace en http://www.am.cs.vu.nl/
6. Resumen
Amoeba es un moderno sistema
operativo distribuido que está diseñado
para un ambiente consistente de
múltiples computadores.

Contenu connexe

Tendances

Arquitectura de la memoria flash
Arquitectura de la memoria flashArquitectura de la memoria flash
Arquitectura de la memoria flashYESENIA CETINA
 
Sistemas operativos om
Sistemas operativos omSistemas operativos om
Sistemas operativos omeckygaby
 
Trabajo practico tic
Trabajo practico ticTrabajo practico tic
Trabajo practico ticivanguido
 
Fundamentos de sistemas operativos
Fundamentos de sistemas operativos Fundamentos de sistemas operativos
Fundamentos de sistemas operativos JenniferAnayaM
 
Cap5
Cap5Cap5
Cap5CJAO
 
Cap1
Cap1Cap1
Cap1CJAO
 
Unidad central de proceso
Unidad central de procesoUnidad central de proceso
Unidad central de procesoYajairaObaco01
 
Estructura de los Sistemas Operativos 2
 Estructura de los Sistemas Operativos 2 Estructura de los Sistemas Operativos 2
Estructura de los Sistemas Operativos 2G Hoyos A
 
Estructura del sistema_operativo - Sistemas por Capas
Estructura del sistema_operativo - Sistemas por CapasEstructura del sistema_operativo - Sistemas por Capas
Estructura del sistema_operativo - Sistemas por CapasOmar Salazar
 
Modelos de acceso a la memoria(uma,numa,coma,norma)
Modelos de acceso a la memoria(uma,numa,coma,norma)Modelos de acceso a la memoria(uma,numa,coma,norma)
Modelos de acceso a la memoria(uma,numa,coma,norma)UAEMex
 
Gabriela melero mesa ...
Gabriela melero mesa                                                         ...Gabriela melero mesa                                                         ...
Gabriela melero mesa ...gabrieladwarf
 
Gestion entrada salida
Gestion entrada salidaGestion entrada salida
Gestion entrada salidaEduardo
 

Tendances (18)

Cpu
CpuCpu
Cpu
 
Arquitectura de la memoria flash
Arquitectura de la memoria flashArquitectura de la memoria flash
Arquitectura de la memoria flash
 
estructuras de los sistemas operativos
estructuras de los sistemas operativosestructuras de los sistemas operativos
estructuras de los sistemas operativos
 
Arquitectura pc
Arquitectura pcArquitectura pc
Arquitectura pc
 
Estuctura davis
Estuctura davisEstuctura davis
Estuctura davis
 
Sistemas operativos om
Sistemas operativos omSistemas operativos om
Sistemas operativos om
 
Trabajo practico tic
Trabajo practico ticTrabajo practico tic
Trabajo practico tic
 
Fundamentos de sistemas operativos
Fundamentos de sistemas operativos Fundamentos de sistemas operativos
Fundamentos de sistemas operativos
 
Cap5
Cap5Cap5
Cap5
 
La memoria ram
La memoria ramLa memoria ram
La memoria ram
 
Cap1
Cap1Cap1
Cap1
 
Unidad central de proceso
Unidad central de procesoUnidad central de proceso
Unidad central de proceso
 
Estructura de los Sistemas Operativos 2
 Estructura de los Sistemas Operativos 2 Estructura de los Sistemas Operativos 2
Estructura de los Sistemas Operativos 2
 
Estructura del sistema_operativo - Sistemas por Capas
Estructura del sistema_operativo - Sistemas por CapasEstructura del sistema_operativo - Sistemas por Capas
Estructura del sistema_operativo - Sistemas por Capas
 
Modelos de acceso a la memoria(uma,numa,coma,norma)
Modelos de acceso a la memoria(uma,numa,coma,norma)Modelos de acceso a la memoria(uma,numa,coma,norma)
Modelos de acceso a la memoria(uma,numa,coma,norma)
 
Gabriela melero mesa ...
Gabriela melero mesa                                                         ...Gabriela melero mesa                                                         ...
Gabriela melero mesa ...
 
Gestion entrada salida
Gestion entrada salidaGestion entrada salida
Gestion entrada salida
 
Arqui hardware
Arqui hardwareArqui hardware
Arqui hardware
 

En vedette

Los valores
Los valoresLos valores
Los valoresECCI
 
Presentacion cole
Presentacion colePresentacion cole
Presentacion coleanamusic1
 
El maltractament de les dones erika vallepsin i sara villeta i sara
El maltractament  de les dones erika vallepsin i sara villeta i saraEl maltractament  de les dones erika vallepsin i sara villeta i sara
El maltractament de les dones erika vallepsin i sara villeta i sarachipiriflauti
 
Formatos de archivo
Formatos de archivoFormatos de archivo
Formatos de archivoAndrea Paola
 
Computacion
ComputacionComputacion
Computaciontatyrak
 
La educaciòn en el ecudor y japòn
La educaciòn en el ecudor y japònLa educaciòn en el ecudor y japòn
La educaciòn en el ecudor y japònKarenGuano
 
Presentación 3
Presentación 3Presentación 3
Presentación 3KFaby8
 
Trabajo practico de tics y ntics
Trabajo practico de tics y nticsTrabajo practico de tics y ntics
Trabajo practico de tics y nticsFlorenciaFCG
 
Presentación Capacitación HDT
Presentación Capacitación HDTPresentación Capacitación HDT
Presentación Capacitación HDTcastrogaona
 
Fernando montes discurso 25 años
Fernando montes discurso 25 añosFernando montes discurso 25 años
Fernando montes discurso 25 añosAlexis Vera
 
Los juguetes en internet al nueve de septiembre
Los juguetes en internet al nueve de septiembreLos juguetes en internet al nueve de septiembre
Los juguetes en internet al nueve de septiembreJuan Fernández Moro
 

En vedette (20)

Los valores
Los valoresLos valores
Los valores
 
Presentacion cole
Presentacion colePresentacion cole
Presentacion cole
 
El maltractament de les dones erika vallepsin i sara villeta i sara
El maltractament  de les dones erika vallepsin i sara villeta i saraEl maltractament  de les dones erika vallepsin i sara villeta i sara
El maltractament de les dones erika vallepsin i sara villeta i sara
 
Ps ynegocio
Ps ynegocioPs ynegocio
Ps ynegocio
 
Trabajo
TrabajoTrabajo
Trabajo
 
El romanticismo
El romanticismoEl romanticismo
El romanticismo
 
Tarea 6
Tarea 6Tarea 6
Tarea 6
 
Formatos de archivo
Formatos de archivoFormatos de archivo
Formatos de archivo
 
elisa delgadillo
 elisa delgadillo elisa delgadillo
elisa delgadillo
 
Computacion
ComputacionComputacion
Computacion
 
Trabajo 2
Trabajo 2Trabajo 2
Trabajo 2
 
La educaciòn en el ecudor y japòn
La educaciòn en el ecudor y japònLa educaciòn en el ecudor y japòn
La educaciòn en el ecudor y japòn
 
Presentación 3
Presentación 3Presentación 3
Presentación 3
 
1. fosiles
1. fosiles1. fosiles
1. fosiles
 
Bitacoras de la 1 17
Bitacoras de la 1 17Bitacoras de la 1 17
Bitacoras de la 1 17
 
Trabajo practico de tics y ntics
Trabajo practico de tics y nticsTrabajo practico de tics y ntics
Trabajo practico de tics y ntics
 
Presentacion BCN 2012
Presentacion BCN 2012Presentacion BCN 2012
Presentacion BCN 2012
 
Presentación Capacitación HDT
Presentación Capacitación HDTPresentación Capacitación HDT
Presentación Capacitación HDT
 
Fernando montes discurso 25 años
Fernando montes discurso 25 añosFernando montes discurso 25 años
Fernando montes discurso 25 años
 
Los juguetes en internet al nueve de septiembre
Los juguetes en internet al nueve de septiembreLos juguetes en internet al nueve de septiembre
Los juguetes en internet al nueve de septiembre
 

Similaire à Amoeba 100716124109-phpapp01 (1)

Arquitectura de computadoras
Arquitectura de computadorasArquitectura de computadoras
Arquitectura de computadorascamiche97
 
ARQUITECTURA_DE_COMPUTADORAS.pdf
ARQUITECTURA_DE_COMPUTADORAS.pdfARQUITECTURA_DE_COMPUTADORAS.pdf
ARQUITECTURA_DE_COMPUTADORAS.pdfMariuxiBayas3
 
Trabajo practico n 2 sistema operativo
Trabajo practico n 2 sistema operativoTrabajo practico n 2 sistema operativo
Trabajo practico n 2 sistema operativoagpmuvi
 
Resumen del primer corte
Resumen del primer corteResumen del primer corte
Resumen del primer corteADOLFO BORJA
 
Sistemas operativos threads
Sistemas operativos   threadsSistemas operativos   threads
Sistemas operativos threadsLiNo Candelario
 
Programación Paralela - Conceptos y diseño de sistemas distribuidos
Programación Paralela - Conceptos y diseño de sistemas distribuidosProgramación Paralela - Conceptos y diseño de sistemas distribuidos
Programación Paralela - Conceptos y diseño de sistemas distribuidosJose Moyano
 
Anexo 12 practica 1 investigar y compartir sistemas operativos(lista)
Anexo 12 practica 1 investigar y compartir sistemas operativos(lista)Anexo 12 practica 1 investigar y compartir sistemas operativos(lista)
Anexo 12 practica 1 investigar y compartir sistemas operativos(lista)Edgar Mtz
 
Sistemas operativos por estructura
Sistemas operativos por estructuraSistemas operativos por estructura
Sistemas operativos por estructuraProf. Javier Troya
 
Anexo 12 practica 1 investigar y compartir sistemas operativos(lista)
Anexo 12 practica 1 investigar y compartir sistemas operativos(lista)Anexo 12 practica 1 investigar y compartir sistemas operativos(lista)
Anexo 12 practica 1 investigar y compartir sistemas operativos(lista)Edgar Mtz
 

Similaire à Amoeba 100716124109-phpapp01 (1) (20)

Amoeba
AmoebaAmoeba
Amoeba
 
Arquitectura de computadoras
Arquitectura de computadorasArquitectura de computadoras
Arquitectura de computadoras
 
Hilo de ejecución
Hilo de ejecuciónHilo de ejecución
Hilo de ejecución
 
ARQUITECTURA_DE_COMPUTADORAS.pdf
ARQUITECTURA_DE_COMPUTADORAS.pdfARQUITECTURA_DE_COMPUTADORAS.pdf
ARQUITECTURA_DE_COMPUTADORAS.pdf
 
Trabajo practico n 2 sistema operativo
Trabajo practico n 2 sistema operativoTrabajo practico n 2 sistema operativo
Trabajo practico n 2 sistema operativo
 
Arquitectura tipos lupe
Arquitectura tipos lupeArquitectura tipos lupe
Arquitectura tipos lupe
 
Resumen del primer corte
Resumen del primer corteResumen del primer corte
Resumen del primer corte
 
Sistemas operativos threads
Sistemas operativos   threadsSistemas operativos   threads
Sistemas operativos threads
 
que es un sistema operativo
 que es un sistema operativo que es un sistema operativo
que es un sistema operativo
 
Programación Paralela - Conceptos y diseño de sistemas distribuidos
Programación Paralela - Conceptos y diseño de sistemas distribuidosProgramación Paralela - Conceptos y diseño de sistemas distribuidos
Programación Paralela - Conceptos y diseño de sistemas distribuidos
 
Tiposso
TipossoTiposso
Tiposso
 
Sistemas Operativos
Sistemas OperativosSistemas Operativos
Sistemas Operativos
 
1.primer taller/segundo corte
1.primer taller/segundo corte1.primer taller/segundo corte
1.primer taller/segundo corte
 
Conceptos de software
Conceptos de softwareConceptos de software
Conceptos de software
 
Anexo 12 practica 1 investigar y compartir sistemas operativos(lista)
Anexo 12 practica 1 investigar y compartir sistemas operativos(lista)Anexo 12 practica 1 investigar y compartir sistemas operativos(lista)
Anexo 12 practica 1 investigar y compartir sistemas operativos(lista)
 
Sistemas operativos-linux-y-windows
Sistemas operativos-linux-y-windowsSistemas operativos-linux-y-windows
Sistemas operativos-linux-y-windows
 
Sistema operativo
Sistema operativoSistema operativo
Sistema operativo
 
Sistemas operativos por estructura
Sistemas operativos por estructuraSistemas operativos por estructura
Sistemas operativos por estructura
 
Anexo 12 practica 1 investigar y compartir sistemas operativos(lista)
Anexo 12 practica 1 investigar y compartir sistemas operativos(lista)Anexo 12 practica 1 investigar y compartir sistemas operativos(lista)
Anexo 12 practica 1 investigar y compartir sistemas operativos(lista)
 
Sistemas operativos distribuidos
Sistemas operativos distribuidosSistemas operativos distribuidos
Sistemas operativos distribuidos
 

Amoeba 100716124109-phpapp01 (1)

  • 1. AMOEBA Qué es Amoeba? Es un sistema operativo de propósito general. Está diseñado para tomar un conjunto de máquinas y hacerlas funcionar como un solo sistema integrado.
  • 2. Los usuarios no se dan cuenta del número y localización de procesadores que corren sus comandos. Está propuesto para ambos: - Computación distribuida: múltiples usuarios independientes trabajan en diferentes proyectos. - Computación paralela: un usuario usando 50 CPU’s juega ajedrez en paralelo.
  • 3. 1. Objetivos del diseño Las metas básicas del diseño fueron: - Distribución : conectar juntas muchas máquinas. - Paralelismo : permitir a trabajos individuales usar múltiples CPU’s fácilmente. - Transparencia : tener una colección de computadores actuando como un solo sistema. - Rendimiento : archivar todo de una manera eficiente.
  • 4. 2. Arquitectura del Sistema Un típico sistema Amoeba consistirá de tres clases funcionales de máquinas. Primero cada usuario tiene su estación de trabajo para correr la interfase de usuario, el sistema X window. Esta estación de trabajo puede ser de ingeniería, o una terminal especializada X. Segundo existe un conjunto de procesadores que son dinámicamente asignados a usuarios, como son requeridos.
  • 5. Estos procesadores pueden ser parte de un multiprocesador o multicomputador, ser una colección de computadores de una sola tarjeta o un grupo de estaciones de trabajo asignados para este propósito. Tercero, hay servidores especializados como son servidores de archivo y de directorio que corren todo el tiempo. Ellos pueden correr en un procesador del conjunto de procesadores, o en hardware dedicado, o como se desee.
  • 6. 3. CONCEPTOS FUNDAMENTALES EN AMOEBA 3.1 Microkernel + arquitectura de Servidor. Fue diseñado con arquitectura microkernel. Esto significa que cada máquina en un sistema Amoeba corre una pequeña, e idéntica pieza de software llamada el Kernel. El kernel soporta procesos básicos, comunicación y objetos primitivos. También manipula dispositivos de I/O y administración de memoria. Así el sistema está estructurado como una colección de procesos independientes. Algunos de estos son procesos de usuario corriendo aplicaciones de programa. Los procesos son llamados clientes y otros servidores.
  • 7. La función básica del microkernel es proveer un ambiente en el cual clientes y servidores puedan correr y comunicarse unos con otros. 3.2 Threads (hilos) En muchos sistemas operativos tradicionales un proceso consiste de un espacio de direcciones y de un solo hilo de control. En Amoeba, cada proceso tiene su propio espacio de direcciones, pero puede contener múltiples “threads de control”. Cada hilo tiene su propio contador de programa y su propia pila, pero comparte código y datos globales con otros hilos en sus procesos.
  • 8. 3.3 Llamadas a procedimientos remotos RPC Los hilos a menudo necesitan comunicarse unos con otros. Los hilos en un solo proceso pueden comunicarse vía memoria compartida, pero los hilos ubicados en procesos diferentes necesitan un mecanismo diferente. El mecanismo de comunicación básico de Amoeba es el RPC. La comunicación consiste de un hilo cliente enviando un mensaje a un hilo servidor, mientras el hilo servidor bloqueado envía un mensaje de retorno, en el cual el cliente a la vez es desbloqueado.
  • 9. Amoeba tiene una librería especial de procedimientos llamada stubs y es la que provee el servicio de acceso remoto, además tiene un lenguaje especial llamado Amoeba Interface Languaje (AIL) para generar automáticamente estos procedimientos stub. 3.4 Comunicación en grupo. Para muchas aplicaciones la comunicación, uno a varios es necesaria, en el cual un solo transmisor envía un mensaje a múltiples receptores. Amoeba provee una facilidad básica, fiable en los grupos de comunicación totalmente ordenado, en el cual todos los receptores están garantizando conseguir todos los mensajes de grupo en exactamente el mismo orden.
  • 10. 3.5 Objetos y capacidades Hay dos conceptos fundamentales en Amoeba: objetos y capacidades. Todos los servicios y comunicación están en base a ellos. Un objeto es conceptualmente un tipo de dato abstracto. Esto es, un objeto es una estructura de datos en el cual ciertas operaciones están definidas. Por ejemplo, un directorio es un objeto al cual ciertas operaciones pueden ser aplicadas, como son “ingresar nombre” y “mirar nombre”.
  • 11. Cuando un objeto es creado, el servidor crea un valor de 128 bit llamado una capacidad y retorna al llamador. Las capacidades son protegidas criptográficamente para prevenir interferencias. Todos los objetos en el sistema son nombrados y protegidos usando éste, un esquema simple y transparente.
  • 12. 3.6 Administración de memoria El modelo es simple y eficiente. Un espacio de direcciones del proceso consiste de uno o más segmentos mapeados a direcciones virtuales de un usuario específico. Cuando un proceso es ejecutado todos los segmentos están en memoria. No hay paginación ni swapping en el presente, así solamente puede correr programas que quepan en la memoria física. La primera ventaja de este esquema es simplicidad y alto rendimiento. La primera desventaja también es que no es posible correr programas más grandes que la memoria física.
  • 13. 3.7 Entrada/Salida E/S es también manipulada por los hilos del kernel. Para leer bloques desde un disco, por ejemplo, un proceso de usuario tiene la autorización apropiada, hace RPC con un hilo de disco E/S en el kernel.
  • 14. 4. Software fuera del kernel El trabajo del microkernel de Amoeba es soportar hilos, RPC, administración de memoria y E/S. 4.1 Servidor de archivos Bullet El servidor de archivos ha sido diseñado para alto rendimiento y es llamado el servidor Bullet. Almacena archivos contiguamente en disco, excepto para archivos muy grandes. Debe existir una máquina con 16 Mb de RAM dedicada para este fin.
  • 15. 4.2 Servidor de directorios. El contraste a algunos sistemas operativos el manejador de archivos y archivo de nombres están separados en Amoeba. 4.3 Compiladores Existen los compiladores de C estándar, Pascal, Modula 2, BASIC y Fortran 77.
  • 16. 4.4 Programación en paralelo Un nuevo lenguaje llamado Orca ha sido desarrollado y permite a los programadores crear sus propios tipos de datos en cualquier proceso en diferentes máquinas en rutas compartidas controladas. Las operaciones en cada objeto son ejecutadas en cada ruta para proveer la ilusión de la existencia de una sola copia compartida por todas las máquinas.
  • 17. 4.5 Utilidades Amoeba provee un gran número de utilidades modelados después de los programas que vienen con UNIX. Entre otros, estos incluyen awk, basename, cal, cat, ediff, chmod, cmp, comm, compress, cp, cpdir, rm, rmdir, time, who, tty, tail, tar, etc.,y muchos otros
  • 18. 4.6 Emulación UNIX Para ayudar a los programas UNIX de puertos en el ambiente Amoeba, una librería de emulación, llamada Ajax, ofrece mejor compatibilidad con POSIX P1003.1. Algunos programas que conforman POSIX trabajan sin modificación. Ellos simplemente tienen que ser compilados y enlazados en Amoeba.
  • 19. 4.7 TCP/IP Si bien el mecanismo básico de comunicación en Amoeba es el protocolo Amoeba FLIP, un servidor especial es proveído para permitir la comunicación TCP/IP por medio de RPC’s al servidor TCP/IP. De esta manera las máquinas pueden ser accedidas por medio del Internet.
  • 20. 4.8 X Windows La interfase de usuario de Amoeba es el estándar de la industria el Sistema X Window (X11R6). Para servidores X corriendo en estaciones de trabajo, una versión especial de X está disponible aquel usa el Amoeba RPC para comunicaciones de alto rendimiento.
  • 21. 4.9 Conexión a UNIX. Un driver especial para UNIX es proveído con Amoeba que puede enlazar al kernel de Unix de SunOS 4.1.1 (o superior), permitiendo a los programas UNIX comunicarse con los programas de Amoeba.
  • 22. 5. ASPECTOS NO TÉCNICOS DE AMOEBA 5.1 Disponibilidad del código fuente. Todas las distribuciones académicas de Amoeba contienen el código fuente completo. Los binarios para el soporte de las máquinas son también incluidos.
  • 23. 5.2 Amoeba sin las trabas de la licencia AT&T Amoeba fue escrito de la nada. Aunque se provee de una emulación POSIX, no contiene código AT&T de ninguna clase. 5.3 Documentación Amoeba viene con una documentación sobre las 1000 páginas. Están organizadas en varios volúmenes.
  • 24. Consta de : •Una colección de papeles científicos describen las ideas básicas. •Una guía de usuario. •Una guía del programador •Una guía del sistema administrador Toda la documentación está libremente disponible desde: http:// www.am.cs.vu.nl/
  • 25. 5.4 Máquinas en las que corre Amoeba Amoeba actualmente corre en las siguientes arquitecturas: •Sun 4c y MicroSPARC SPARCstations •Intel 386/486/Pentium/Pentium Pro (IBM AT bus, PCI bus) •Tarjetas 68030 VME – bus •Estaciones de trabajo Sun 3/60 & Sun 3/50
  • 26. 5.5 Configuración requerida. Amoeba es un sistema distribuido heterogéneo. Aunque en teoría trabaja en una sola máquina, en la práctica más de una máquina es requerida. Recomendamos por lo menos 5 máquinas: un servidor de archivos, una estación de trabajo y 3 conjuntos de procesadores.
  • 27. Configuración mínima para sistemas 386/486/Pentium. Servidor de archivos: >= 16MB RAM, un disco de 300 MB, unidad floppy 3.5”, tarjeta ethernet, tarjeta VGA, teclado, monitor, ratón. Estación de trabajo: >= 8 MB RAM, tarjeta ethernet, tarjeta VGA, teclado, monitor, ratón. Conjunto de procesadores: >= 4 MB RAM, unidad floppy 3.5”, tarjeta ethernet. Soporte a tarjetas ethernet: SMC/WD 8013, NE 2100, NE2000, 3Com 503
  • 28. 5.6 Precio Amoeba es gratuito para universidades que tienen acceso FTP o WWW. Conjuntos de manuales pueden ser impresos por 500 US. Licencia comercial y soporte está proveído por ACE, b.v. en Amsterdam.
  • 29. 5.7 Soporte Aunque Amoeba es todavía un sistema experimental, en vez de calidad de producción y producto pulido (por ejemplo la emulación UNIX no está completa al 100%), puede ser usado tranquilamente por cualquiera que esté interesado en sistemas distribuidos.
  • 30. 5.8 Procedimiento de orden Amoeba está disponible para universidades bajo licencia “shrink-wrap” en la cual la universidad está de acuerdo usar Amoeba solamente para educación. Para el acceso FTP se debe registrar y obtener el nombre y el password. Esto se hace en http://www.am.cs.vu.nl/
  • 31. 6. Resumen Amoeba es un moderno sistema operativo distribuido que está diseñado para un ambiente consistente de múltiples computadores.