Sunteți pe pagina 1din 12

17/5/2015

SistemasDistribuidosAMOEBA?ArtculodelaSemana

Buscar en miarroba ...

Crea tu foro GRATIS

Entrar

Regstrate

Foros Noticias Pginas Calendario Nuevos mensajes Buscar Tagboard Usuarios Fisgona

AMOEBA?

Nueva respuesta

Sistemas Distribuidos Sistemas Distribuidos, la asignatura Artculo de la Semana


AMOEBA?

alanoca8381x
Nuevo usuario

#1

26/Feb/2011, 16:40 Editado por alanoca8381x

Amoeba

Es un sistema operativo distribuido de investigacin, basado en una arquitectura de microncleo. Fue


desarrollado por Andrew S. Tanenbaum y otros en la Universidad Libre de Amsterdam. El objetivo del
proyecto Amoeba era construir un sistema de tiempo compartido que hiciera que una red entera de
computadores pareciera a los ojos de un usuario como una mquina nica.
Los servicios suministrados por el ncleo incluyen threads, segmentos de memoria, mecanismos de IPC
(RPCs y mensajes) y E/S [160].
El desarrollo parece detenido, dado que la fecha de la ltima modificacin en el cdigo data de febrero
de 2001.
Existen versiones para varias plataformas, incluyendo i386, Sun-3 y SPARC.
El lenguaje de programacin Python fue originalmente desarrollado para esta plataforma.

CONTENIDO::

1. Introduccin
2. Arquitectura
Usodecookies
3. MicroNcleo
Utilizamoscookiespropiasydetercerosparamejorarnuestrosserviciosymostrarle
4. Servidores

publicidadrelacionadaconsuspreferenciasmedianteelanlisisdesushbitosde
navegacin.

http://sistemasdistribuidos.mforos.com/1890538/10201467amoeba/

1/12

17/5/2015

SistemasDistribuidosAMOEBA?ArtculodelaSemana

navegacin.

5. ObjetosyPosibilidades
6. Administracin
informacin,obienconocercmocambiarlaconfiguracin,ennuestraPolticade
7. Toleranciaafallos
cookies
Sicontinanavegando,consideramosqueaceptasuuso.Puedeobtenerms

Introduccin.

EstescritoenC.
PoseeunlenguajeparaelcmputodistribuidoyparalelollamadoOrca.
Notieneelconceptodemquinadeorigen.
Elshellinicialseejecutaenmquinaarbitraria,peroloscomandostienenporquejecutarseenlamismamquinaqueelshell.

Arquitectura

Piladeprocesadores,cadaunoconsumemorialocal(noesnecesarialamemoriacompartida).Elsistemaoperativoseencargaderepartir
eltrabajodelosprocesadoresdeformadinmica.
TerminalesX,unoparacadausuario.
Servidoresespecializados,queporeficienciaseencontrarnenejecucintodoeltiempoyenmquinasdedicadasaello.

MicroNcleo.

wSeejecutaentodaslasmquinasdelsistema:
nProcesadoresdelapila.
nTerminales.
nServidoresespecializados.

wPosselassiguientestareas:
nControlarlosprocesosehilos.
nProporcionarelsoportedelaadministracindememoriadebajonivel.(Segmentos)
nSoportarlacomunicacinentrelosprocesos.Dosformasdecomunicacin:
wPuntual:Unclienteenvaunmensajeaunservidorysebloqueahastaqueleconteste.
wDegrupo:Envodemensajesdeunafuenteavariosdestinos.
nControlarlaE/Sdebajonivel,medianteloscontroladoresdedispositivosqueexistenenelncleoquesecomunicanconlosdispositivos.

Servidores

wServidordearchivos:Losarchivossoninmutables.Secrean,seleenyseeliminan,peronosemodifican,parafavorecerlarplicaautomtica.
wServidordedirectorios:Ofrecelosarchivos,peroelmanejodestossehaceatravsdelservidordearchivos.Mayorflexibilidad.
wServidorderplicas:Replicasretardadas.Cuandosecreaalgnobjetosehaceunacopiaycuandotengatiempolaactualizar.Funciona
mejorconobjetosinmutablescomolosarchivos.
wServidordeejecucin.

http://sistemasdistribuidos.mforos.com/1890538/10201467amoeba/

2/12

17/5/2015

SistemasDistribuidosAMOEBA?ArtculodelaSemana

ObjetosyPosibilidades.

wUnobjetoesunTDAyescontroladoporunproceso.
wLasposibilidadesidentificanalobjetoylodotandeproteccin.
nPuertodelservidor(48)
nObjeto(24)
nDerechos(8)
Verificacin(48)
wElcampopuertodelservidorseusaparalocalizarlamquinaenlaqueresideelservidor.
wElcampoobjetolousaelservidorparaidentificaralobjeto.
wElcampoderechosindicalasoperacionespermitidasalpropietariodeunaposibilidad.(Independientementedelosderechosquetengael
objeto).
wElcampoverificacinseusaparavalidarlaposibilidad.

Administracin.

wProcesos:SonobjetosenAmoeba.Alcrearunonuevoelpadreobtieneunaposibilidadparaelhijo.
wLaadministracindelamemoriaposeeunacaractersticafundamental:Lossegmentosnosepaginanniseintercambian,portantounproceso
debeestarcontenidoenlamemoriaporcompleto.
wDesempeo:MayorvelocidadenlaRPC.Todoslosdatosestnadyacentesenlamemoriavirtualyfsica.Noseproducenfallosdepgina.
wSencillez:Elnotenerpaginacinelncleosermascontrolable.
wEconoma:alsertanbaratalamemoriasepodrusarmemoriasdecientosdeMegabytes,conloquesereducelanecesidaddepaginacin.

Toleranciaafallos.

wParalatoleranciaafallosseusaelservidordereplicas.
wstefuncionamejorconobjetosinmutablescomolosarchivos,yaquetrabajaensegundoplano.

http://sistemasdistribuidos.mforos.com/1890538/10201467amoeba/

3/12

17/5/2015

CynthiaCortez
Nuevo usuario

SistemasDistribuidosAMOEBA?ArtculodelaSemana

#2

27/Feb/2011, 09:48

ALGO MAS DEL AMOEBA...


AMOEBA esta basado en una arquitectura micronucleo es decirprovee un conjunto de primitivas o
llamadas al sistema mnimas, para implementar servicios bsicos como espacios de direcciones
cominicacion entre proceso y planificacion basica. ES MUY INTERESANTE AHI LES DEJO LA
PAGINA DE AMOEBA PARA QUE ENTREN Y SE INFORMEN MAS SOBRE ESTE SISTEMA
DISTRIBUIDO OPERATIVO(esta en ingles).
http://www.cs.vu.nl/pub/amoeba/

rodrigomorales80489
Nuevo usuario

#3

27/Feb/2011, 13:56 Editado por rodrigomorales80489

CITADO POR:
RODRIGO RENE MORALES ARROYOA80489
Cita:

quieres saber mas sobre AMOEBA, como su arquitectura, su funcionamiento, su gestion de procesos, gestion de memoria
vista elk siguiente link donde se encuentran diapositivas con una explicacion clara sobre puentos importantes sobre los
sitados. http://gsd.unex.es/~jdiaz/asig/sod/transpPDF/cap_5/amoeba_v0.pdf
o pueden leer el siguiente documento donde se encuentran cosas parecidas y las tendencias del AMOEBA pero este se
encuntra en INGLES pero es muy interesante cuando lo lees ademas de que leer documentos en Ingles nos ayudara a
interpretar mejor las cosa ya que los documentos traducidos no son exactamente buenos ya que el traductor lo traduce a su
punto de vista

Comparison of Amoeba Vs Mach Operating Systems

Yousuf Surmust
Research Project: CS550 Fall 2001
Illinois Institute of Technology, Chicago, US.
Email: yousuf@surmust.com
Website: http://www.surmust.com

Abstract:

In this paper, I discuss two popular operating systems Amoeba and Mach. The future of super computing lies in massively
parallel computers and will require the use of parallel computers containing thousands of powerful CPUs. To perform well,
these parallel super computers will require operating systems radically different from current ones. Amoeba and Mach are
compared and contrasted in various areas, like process management, memory management, communication etc.

Keyword: Operating systems, Distributed systems, Computer Networks, Microkernel, Amoeba, Mach.

http://sistemasdistribuidos.mforos.com/1890538/10201467amoeba/

4/12

17/5/2015

SistemasDistribuidosAMOEBA?ArtculodelaSemana
Table of Contents:
Abstract: 2
Introduction: 2
History of Amoeba: 2
History of Mach: 2
Basics of Amoeba and Mach operating systems: 2
Amoeba: 2
Mach: 2
Design Goals: 2
Amoeba: 2
Mach: 2
Architecture: 2
Amoeba: 2
Mach: 2
Current hardware: 2
Comparison of Microkernels: 2
Comparison of Process Management: 2
Comparison of Memory Management: 2
Comparison of Communication: 2
Conclusion: 2
Acknowledgements: 2
References: 2

Introduction:

Roughly speaking, we can divide the history of modern computing into the three eras:
970s: Timesharing (1 computer with many users)
1980s: Personal computing (1 computer per user)
1990s: Parallel computing (many computers per user)
Until about 1980, computers were huge, expensive, and located in computer centers.
Most organizations had a single large machine.
In the 1980s, prices came down to the point where each user could have his/her own personal computer or workstation.
These machines were often networked together, so that users could do remote logins on other peoples computers or share
files in various ways.
Nowadays some systems have many processors per user, either in the form of a parallel computer or a large collection of
CPUs shared by a small user community. Such systems are usually called parallel or distributed computer systems.

History of Amoeba:
A group under the direction of Prof. Andrew S. Tanenbaum at the Vrije Universiteit (VU) in Amsterdam (The Netherlands)
has been doing research since 1980 in the area of distributed computer systems. Now, Amoeba is being jointly developed
there and at Center for Mathematics and Computer Science, also in Amsterdam. This research, partly done in cooperation
with the Centrum voor Wiskunde en Informatica (CWI), has resulted in the development of a new distributed operating
system, called Amoeba, designed for an environment consisting of a large number of computers. The chief goal of all this
work is to build a distributed system that is transparent to the users.
Amoeba is available for free to universities, government and other educational institutions.

History of Mach:
Mach traces its ancestry to the Accent operating system developed at Carnegie Mellon University (CMU). Although Accent
pioneered a number of novel operating system concepts, its utility was limited by its inability to execute UNIX applications
and its strong ties to a single hardware architecture that made it difficult to port. Machs communication system and
philosophy are derived from Accent, but many other significant portions of the system (for example, the virtual memory
system, task and thread management) were developed from scratch. An important goal of the Mach effort was support for
multiprocessors. Machs development followed an evolutionary path from BSD UNIX systems. Mach code was initially
developed inside the 4.2BSD kernel, with BSD kernel components being replaced by Mach components as the Mach
components were completed. The BSD components were updated to 4.3BSD when that became available. By 1986, the
virtual memory and communication subsystems were running on the DEC VAX computer family, including multiprocessor
versions of the VAX. Versions for the IBM RT/PC and for SUN 3 workstations followed shortly. 1987 saw the completion of
the Encore Multimax and Sequent Balance multiprocessor versions, including task and thread support, as well as the first

http://sistemasdistribuidos.mforos.com/1890538/10201467amoeba/

5/12

17/5/2015

SistemasDistribuidosAMOEBA?ArtculodelaSemana
official releases of the system, Release 0 and Release 1. Through Release 2, Mach provides compatibility with the
corresponding BSD systems by including much of BSDs code in the kernel. The new features and capabilities of Mach make
the kernels in these releases larger than the corresponding BSD kernels. Mach 3 moves the BSD code outside of the kernel,
leaving a much smaller microkernel. This system implements only basic Mach features in the kernel; all UNIXspecific code
has been evicted to run in usermode servers. Excluding UNIXspecific code from the kernel allows replacement of BSD with
another operating system, or the simultaneous execution of multiple operating system interfaces on top of the microkernel.
In addition to BSD, usermode implementations have been developed for DOS, the Macintosh operating system, and OSF/1.
This approach has similarities to the virtualmachine concept, but the virtual machine is defined by software (the Mach
kernel interface), rather than by hardware. As of Release 3.0, Mach became available on a wide variety of systems,
including singleprocessor SUN, Intel, IBM, and DEC machines, and multiprocessor DEC, Sequent, and Encore systems. Mach
was propelled into the forefront of industry attention when the Open Software Foundation (OSF) announced in 1989 that it
would use Mach 2.5 as the basis for its new operating system, OSF/1. The initial release of OSF/1 occurred a year later,
and now competes with UNIX System V, Release 4, and the operating system of choice among UNIX International (UI)
members. OSF members include key technological companies such as IBM, DEC, and HP. Mach 2.5 is also the basis for the
operating system on the NeXT workstation, the brainchild of Steve Jobs, of Apple Computer fame. OSF is evaluating Mach 3
as the basis for a future operatingsystem release, and research on Mach continues at CMU and OSF, and elsewhere.

Basics of Amoeba and Mach operating systems:


Amoeba:
Amoeba is a distributed operating system designed to connect together a large number of machines in a transparent way.
Its goal is to make the entire system look to the users like a single computer. The system consists of two parts: a
microkernel and server processes.
An Amoeba system consists of several components, including a pool of processors where most of the work is done, terminals
that handle the user interface, and specialized servers. All these machines normally run the same microkernel.

The microkernel has four primary functions:


1. Manage processes and threads.
2. Provide lowlevel memory management support.
3. Support communication.
4. Handle lowlevel I/O.

Amoeba has processes just like most operating systems have, Processes can have multiple threads of control within a single
process, all of which share the process address space and resources. A thread is the active entity within a process. Each
thread has a program counter, and its own stack, and executes sequentially.
One of the most unique feature of Amoeba is that it is based on the idea of objects, each of which is named and
protected by a 128bit capability. When a process creates an object, the server managing the object returns a capability for
that object. The capability contains bits telling which of the operations on the object the holder of the capability may
perform. A typical capability is shown in figure.

The Port field identifies the server. The Object field tells which object is being referred to, since a server normally will
manage thousands of objects. The Rights field specifies which operations are allowed (e.g., a capability for a file may be
readonly). Since capabilities are managed in user space the Check field is needed to protect them cryptographically, to
prevent users from tampering with them.

Since capabilities are managed by user processes themselves, and can be given away by their owners, the rights are
protected from tampering by encryption. As a consequence, different users may have capabilities for the same object, but
with different rights.

Mach:
The Mach operating system is designed to incorporate the many recent innovations in operatingsystem research to produce
a fully functional technically advanced system.
Mach is based on five major concepts: processes, threads, ports, messages, and memory objects. A process, as in other
systems, is a container for holding threads and other resources that are managed together. A thread is a lightweight
processwithinaprocess, as in Amoeba. A port is a mailbox that is used for communication. A message is a typed data
structure that one thread can send to another threads port so the receiving thread can read it. Finally, a memory object is
a coherent region of memory, all of whose words have certain shared properties and which can be manipulated as a whole.
Mach is an example of an objectoriented system where the data and the operations that manipulate that data are
encapsulated into an abstract object. Only the operations of the object are able to act on the entities defined in it. The
details of how these operations are implemented are hidden, as are the internal data structures. Thus programmer can use
an object only by invoking its defined, exported operations. The object oriented approach supported by Mach allows objects
to reside anywhere in a network of Mach systems, transparent to the user. The port mechanism makes all of this possible.

http://sistemasdistribuidos.mforos.com/1890538/10201467amoeba/

6/12

17/5/2015

SistemasDistribuidosAMOEBA?ArtculodelaSemana

Design Goals:

Amoeba:
Three central design goals were set for the Amoeba distributed operating system:
Network transparency: All resource accesses were to be network transparent. In particular, there was to be a seamless
systemwide file system, and processes were to execute at a processor of the system's choosing, without the user's
knowledge.
Objectbased resource management: The system was designed to be object based. Each resource is regarded as an
object and all objects, irrespective of their type, are accessed by a uniform naming scheme. Objects are managed by
servers, where they can be accessed only by sending messages to the servers. Even when an object resides locally, it will
be accessed by request to a server.
Userlevel servers: The system software was to be constructed as far as possible as a collection of servers executing at
userlevel, on top of a standard microkernel that was to run at all computers in the system, regardless of their role. An
issue that follows from the last two goals, and to which the Amoeba designers paid particular attention, is that of
protection. The Amoeba microkernel supports a uniform model for accessing resources using capabilities.

Mach:
Multiprocessor operation: Mach was designed to execute on a shared memory multiprocessor, so that both kernel
mode threads and usermode threads could be executed by any processor. It is designed to run on computer systems
ranging from one to thousands of processors.
Operating system emulation: To support the binarylevel emulation of UNIX and other operating systems, Mach allows
for the transparent redirection of operating system calls to emulation library calls and thence to userlevel operating
system servers.
Flexible virtual memory implementation: Mach provides the ability to layer emulation of other operating systems as
well, and they can even run concurrently.
Portability: Mach was designed to be portable to a variety of hardware platforms. For this reason, machinedependent
code has been isolated as far as possible. In particular, the virtual memory code has been divided between machine
independent and machinedependent parts
Support for diverse architectures: Mach support for diverse architectures including multiprocessors with varying
degrees of shared memory access: Uniform Memory Access (UMA), NonUniform Memory Access (NUMA), and No Remote
Memory Access (NORMA) .
Simplified kernel structure with a small number of abstractions: In turn these abstractions are sufficiently general to
allow other operating systems to be implemented on top of Mach
Network transparency: Distributed operation, providing network transparency to clients and an objectoriented
organization both internally and externally
Integrated memory management and interprocess communication: Integrated memory management and IPC in
Mach to provide both efficient communications of large numbers of data, as well as communicationbased memory
management
Heterogeneous system support: Due to heterogeneous support nature of Mach OS makes Mach widely available and
interoperable among computer systems from multiple vendors
Compatibility with UNIX: Mach is better able to satisfy the needs of the masses than the others operating systems
because it offers full compatibility with UNIX 4.3BSD.
Ability with varying inter computer network speed: Mach OS has an ability to function with varying intercomputer
network speeds, from wide area networks to highspeed localarea networks and tightly coupled multiprocessors

Architecture:
Amoeba:
The Amoeba architecture consists of four principal components described below.
Pool Processor model: A group of CPUs that can be dynamically allocated as needed, used, and then returned to the pool.
Work station: Workstations are assigned on one user per workstation, on which user can carry out editing and other tasks
that required fast interactive response. All workstations are diskless and are used as an intelligent terminal. Normally, X
terminal is the best choice for this.
Specialized servers: There are numbers of different kinds of servers available such as directory servers, file servers, data
base servers, boot servers and various other servers with specialized function. Each server is dedicated to performing a
specific function.
Gateways: Gateways are used to link the Amoeba systems at different sites.

http://sistemasdistribuidos.mforos.com/1890538/10201467amoeba/

7/12

17/5/2015

SistemasDistribuidosAMOEBA?ArtculodelaSemana

Figure 2:The Amoeba architecture

The core idea about the Amoeba architecture is that all the Amoeba machines run the same kernel, which primarily
provides multithreaded processes, communications services, I/O and little else. The kernel is always try to be small as
possible to enhance its reliability and to allow as much as possible of the OS to run as user process, providing for flexibility.

Mach:

Mach architecture consists of a large multiprocessor, several small multiprocessor and number of workstation. In the
architecture of the Mach OS, LAN added later. Mach has a concept of the home machine. Mach never attempts to spread out
load. Workstations run the same kernel (binary image if appropriate) as highend multiprocessors. Development and testing
of multiprocessor applications can be made on personal workstation. Workstations provide a user interface to mainframe
uniprocessors and multiprocessors.
Workstations may themselves be multiprocessors.

Current hardware:
Amoeba currently runs on following platforms

SPARC (Sun4c and Sun4m),


386/486
68030
Sun 3/50
Sun 3/60.

At the Vrije Universiteit, Amoeba runs on a collection of 80 singleboard SPARC computers connected by an Ethernet,
forming a powerful processor pool.
Mach currently runs on:
MicroVAX I & II
VAX11/750, 11/780, 11/785, 820x, 8300, 8600, 8650.
VAX 11/784 411/780's with 8 megabytes of shared memory.
VAX 11/789 411/785's.
IBM RT/PC.
SUN 3.
Encore MultiMax.

Comparison of Microkernels:
Amoeba is a complete distributed operating system constructed as a collection of userlevel servers supported by the
microkernel while Mach is primarily microkernel designs geared towards the emulation of existing operating systems, in a
distributed system.

Amoeba has a minimal kernel while the Mach kernel functionality to support widest range of applications.

Mach has more than five times number of systems calls as compare to the Amoeba.

http://sistemasdistribuidos.mforos.com/1890538/10201467amoeba/

8/12

17/5/2015

SistemasDistribuidosAMOEBA?ArtculodelaSemana

Comparison of Process Management:

In parallel supercomputers, processes play an important role, since there are many of them and they must be allocated to
processors, often dynamically. In many applications, processes synchronization is a key issue. Finally, for finegrained
computation, it is frequently useful to have multiple threads of control in a single process. In this section we describe how
these issues are dealt with in Amoeba and Mach.

Support multiple threads per process: Both systems support processes with multiple threads per process. In both cases,
the threads are managed and scheduled by the kernel, although userlevel threads packages can be built on top of them.

Object model and capabilities: Amoeba is based on the object model, and has capabilities for processes, segments, and
other kernel and user objects, providing an integrated naming and protection scheme for all objects in the entire system.
Mach only has capabilities for ports managed by kernel in capability lists, one per process. Port capabilities passed in
controlled way.

Scheduling: Amoeba gives processes the choice of runtocompletion vs. preemptive scheduling for its threads. Mach allows
processes to determine the priorities and scheduling policies of their threads in software.

Multiprocessors: Both kernels run on multiprocessors, but they differ in how they use the CPUs.

Unix emulation: Amoeba provides UNIX emulation via the library. Mach provides binary emulation of UNIX, MSDOS, and
other operating systems by catching system call traps and reflecting them to userspace emulators.

Thread Synchronization: Thread synchronization is done by mutexes and semaphores in Amoeba. In Mach it is done by
mutexes and condition variables. The mutex primitives are lock, tryock and unlock. The operations on condition variables
are signal, wait and broadcast.

Thread migration concept: Amoeba does not distribute the threads of a single process over the CPUs. They all run on the
same processor. Instead, it is processes, not threads that are spread over the CPUs. Mach, in contrast, allows finegrained
control of which threads are assigned to which CPUs using the processor set concept. This mechanism allows true
parallelism among the threads of a single process.

Comparison of Memory Management:

Memory management is one the fundamental concept uses in all operating systems, including those for parallel
supercomputers. Depending on the CPU chip used, virtual memory may also be available, in which case it, too, must be
managed. Memory management on parallel computers is not appreciably different from memory management on single
processor computers, but it is still important.

Address space: In Amoeba, a process can have any number of variable length segments mapped into its virtual address
space wherever it wants to. Once in, a segment can later be mapped out. Segments are controlled by capabilities, and can
be read and written by any process holding the capabilities, including remote processes, for example, for debugging. Mach
provides to its user processes is a linear address space from 0 to some maximum address. Within this address space,
processes can define regions, which are ranges of addresses, and can map memory objects onto regions.

Paging: Amoeba does not support demand paging, so all of a process segments must be in memory when it is running.
Having a process entirely in memory all the time makes communication go faster since no checks have to be made when an
outgoing message spans virtual page boundaries. No paging means Amoeba system is simpler and makes the kernel smaller
and more manageable.
In Mach pages can be moved in and out of memory, as space requires. A memory object need not be fully in memory to be
used. When an absent page is touched, its external pager is told to find it and bring it in. This mechanism supports full
demand paging.

Object based system and page based system:

http://sistemasdistribuidos.mforos.com/1890538/10201467amoeba/

9/12

17/5/2015

SistemasDistribuidosAMOEBA?ArtculodelaSemana
Amoeba supports an objectbased system that allows variablesized software objects to be shared using the kernels
reliable broadcast mechanism. Mach has a network message server that supports a pagebased system.

Distributed shared memory: Both systems support distributed shared memory but they do it in different ways. Amoeba
supports shared objects replicated on all machines. Objects can be of any size and support operations. Reads are done
locally and writes use reliable broadcast. Mach use paged based distributed shared memory.

Comparison of Communication:
Communication is probably the true test of a parallel operating system. In a single processor operating system, interprocess
communication is internal, and is thus managed entirely locally. In a parallel supercomputer, interprocess communication
means sending messages between machines over some kind of network. These messages must be sent reliably and with a
minimum of overhead. Most of the communication protocols developed for conventional networking, such as TCP, OSI, and
X.25 are too heavyweight for use in a parallel system. In particular, the critical parameter here is not the bandwidth
achievable for long transmissions, but the delay required for short messages.

A scheme called remote procedure call (RPC) potentially provides a simple, high performance interprocess communication
mechanism that retains most of the semantics of local procedure call. Very briefly, the calling process calls a library
procedure, the stub that has the same interface and parameters as a procedure on the remote machine. The library
procedure packs the parameters into a message and sends them to a complementary procedure on the remote machine,
which unpacks them and makes the actual call to the remote procedure. The reply goes the other way and unblocks the
caller when it gets back. In this way, the neither the calling nor called procedure is aware that they are on different
machines. This technique is widespread in distributed and parallel systems.

Forms of communication: Amoeba supports three forms of communication


Unreliable oneway message passing
Reliable RPC
Reliable totally ordered group communication.
Mach supports only one form of communication.
Reliable oneway message passing.

Messages typed: Messages in Amoeba have a fixed part and a variable part and are untyped. Messages in Mach have only a
variable part and are typed.

Message transmission:
Amoeba uses a custom protocol called FLIP (Fast Local Internet Protocol) for actual message transmission. This protocol
supports both RPC and group communication and is below them in the protocol hierarchy. In OSI terms, FLIP is a network
layer protocol, whereas RPC is more of connectionless transport or session protocol.
Mach allows messages to be transmitted from one process to another using the copyonwrite mechanism. Amoeba does not
have this. However, when sending messages between machines it is of no use; copying is always needed.

Ports: In Amoeba, messages are addressed to service addresses. The receiving thread must do a RECEIVE call that provides
the buffer directly in user space. In Mach, messages are sent to ports. These are data structures managed by the kernel that
provide message storage. Mach support port sets, although they are only for receiving, not sending.

Machs ports are named by capabilities managed by the kernel and referred to by their indices in the kernels capability
list.

Only Mach has SENDONCE capabilities.

http://sistemasdistribuidos.mforos.com/1890538/10201467amoeba/

10/12

17/5/2015

SistemasDistribuidosAMOEBA?ArtculodelaSemana
Only Amoeba allows multiple replicated servers to listen to the same service address to stochastically distribute the
requests over the servers.

Conclusion:
In this paper I have thoroughly surveyed and compared two operating systems, Amoeba and Mach. I have found that these
two OS microkernels are quite similar in various ways. Since both OS were independently designed and implemented but it
is surprising fact that these differences are not very big. Both Amoeba and Mach were tested several times by their
designer and they changed OS several times based on experiences gained form earlier versions. Here are some important
points

Amoeba microkernel manages process and memory, and handles communication.


At the lowest lever, processes started by generating a process descriptor and doing RPC with the kernel thread
responsible for starting new processes on the target machine.
Higherlevel services help with locating a suitable machine to run on.
Memory is based on the concept of segments, which can be mapped into and out of processes address spaces at arbitrary
addresses.
Communication comes in three forms: Unreliable oneway message passing, Reliable RPC, and Reliable totally ordered
group communication
Mach uses lightweight processes, in the form of multiple threads of execution within one task (or address space), to
support multiprocessing and parallel computation.
Mach supports only one form of communication: reliable oneway message passing.
Mach only has capabilities for ports managed by kernel in capability lists, one per process. Port capabilities passed in
controlled way.
By providing lowlevel, or primitive, system calls from which more complex functions may be built, Mach reduces the
size of the kernel while permitting operatingsystem emulation at the user level.

Acknowledgements:
I would like to thank Prof. Marius Soneru for his help in this research paper and Mr. Nadeem Surmust for his helpful
comments.

References:
Web Address:
http://www.cs.vu.nl/pub/amoeba/
http://www2.cs.cmu.edu/afs/cs.cmu.edu/project/mach/public/www/mach.html
http://www.scs.carleton.ca/~csgs/resources/mach_papers.html

Kaashoek, M.F., Tanenbaum, A.S., and Verstoep, K. 1993. Group Communication in Amoeba and its Applications.
Distributed Systems Engineering J. 1, (July), pp. 4858.

Mullender, S.J., Rossum, G. van, Tanenbaum, A.S., Renesse, R. van, and Staveren, H. van 1990. AmoebaA Distributed
Operating System for the 1990s. IEEE Computer Magazine, 23, 5 (May), pp. 4453.

Tanenbaum, A.S., Kaashoek, M.F., Renesse, R. van, and Bal, H. 1991. The Amoeba Distributed Operating System A Status
Report. Computer Communications , 14, 4 (JulyAug.), pp. 324335.

Tanenbaum, A.S., Renesse, R. van, Staveren, H. van., Sharp, G.J., 1990. Mullender, S.J., Jansen, J., and Rossum, G. van
Experiences with the Amoeba Distributed Operating System. Commun. of the ACM 33, 12 (Dec.), pp. 4663.

Andrew S. Tanenbaum & M. Frans Kaashoek ,The Amoeba Microkernel, IEEE Computer 1994.

Baron, R.; Rashid, R.; Siegel, E.; Tevanian, A. And Young, M. 1985. Mach1: An Operating Environment for LargeScale
Multiprocessor Applications. IEEE Software, 2, 4 (July), pp. 6567.

A. S. Tanenbaum, "A comparison of three microkernels ". J. Supercomput. 9(1/2), pp. 722, 1995.

Black, D.L., Golub, D.B., Julin, D.P., Rashid, R.F., Draves, R.P., Dean, R.W., Forin, A.,

http://sistemasdistribuidos.mforos.com/1890538/10201467amoeba/

11/12

17/5/2015

SistemasDistribuidosAMOEBA?ArtculodelaSemana
Barrera, J., Tokuda, H., Malan, G., and Bohman, D. 1992. Microkernel Operating System
Architecture and Mach. In Proc. USENIX Workshop on Microkernels and Other Kernel
Architectures , USENIX Association, pp. 1130.

CITADO POR:
RODRIGO RENE MORALES ARROYOA80489

vidalREY
Nuevo usuario

#4

27/Feb/2011, 22:32

bueno, amoeba si es un ejemplo digno de representar autenicamente a un sistema distribuido, por las cualidades que tiene
el mismo para ver al conjunto de usuarios como un todo, sin embargo, considero que ahora con el avance tencnologico los
ordenadores personales ya casi tienen la capasidad de igualar a su hardware como potencia minima de estructura, ayq ue
se puede observar q existen actualmente ordenadores que poseen hata 7 nucleos con un velocidad de respuesta
impresionante,y con unaa capacidad de almacenamiento q es mejorado con los discos solidos, por lo que amoeba se podra
acoplar de forma optima en este tipo de ordenadores.

VIDAL REYNALDO ALVAREZ CHALLCO


A75256

Nueva respuesta

Tema anterior

Tema siguiente

Arriba

ATENCIN: Este tema no tiene actividad desde hace ms de 6 MESES,


te recomendamos abrir un nuevo tema en lugar de responder al actual
Sistemas Distribuidos Sistemas Distribuidos, la asignatura Artculo de la Semana
Opciones:

Ir al subforo: [ Selecciona un subforo ]

Versin imprimible del tema


Subscrbete a este tema
Date de baja de este tema

OK

TU NO PUEDES Escribir nuevos temas en este foro


TU NO PUEDES Responder a los temas en este foro
TU NO PUEDES Editar tus propios mensajes en este foro
TU NO PUEDES Borrar tus propios mensajes en este foro
Ahora son las 21:28 UTC04:00

Temas similares

No se han encontrado temas similares


Contactar con el administrador de esta comunidad

http://sistemasdistribuidos.mforos.com/1890538/10201467amoeba/

12/12

S-ar putea să vă placă și