sistemas distribuidos - amoeba_ - artículo de la semana

Upload: deyvi-talledo

Post on 01-Mar-2016

218 views

Category:

Documents


0 download

DESCRIPTION

introduccion

TRANSCRIPT

  • 17/5/2015 SistemasDistribuidosAMOEBA?ArtculodelaSemana

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

    Buscar en miarroba ... Crea tu foro GRATIS Regstrate Entrar

    Nueva respuesta

    Foros Noticias Pginas Calendario Nuevos mensajes Buscar Tagboard Usuarios Fisgona

    AMOEBA?

    Sistemas Distribuidos Sistemas Distribuidos, la asignatura Artculo de la Semana

    AMOEBA?

    alanoca8381xNuevo usuario

    #1

    Amoeba

    Es un sistema operativo distribuido de investigacin, basado en una arquitectura de microncleo. Fuedesarrollado por Andrew S. Tanenbaum y otros en la Universidad Libre de Amsterdam. El objetivo delproyecto Amoeba era construir un sistema de tiempo compartido que hiciera que una red entera decomputadores 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 febrerode 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. Introduccin2. Arquitectura3. MicroNcleo4. Servidores

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

    UsodecookiesUtilizamoscookiespropiasydetercerosparamejorarnuestrosserviciosymostrarlepublicidadrelacionadaconsuspreferenciasmedianteelanlisisdesushbitosdenavegacin.

    x

  • 17/5/2015 SistemasDistribuidosAMOEBA?ArtculodelaSemana

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

    5. ObjetosyPosibilidades6. Administracin7. Toleranciaafallos

    Introduccin.

    EstescritoenC.

    PoseeunlenguajeparaelcmputodistribuidoyparalelollamadoOrca.

    Notieneelconceptodemquinadeorigen.

    Elshellinicialseejecutaenmquinaarbitraria,peroloscomandostienenporquejecutarseenlamismamquinaqueelshell.

    Arquitectura

    Piladeprocesadores,cadaunoconsumemorialocal(noesnecesarialamemoriacompartida).Elsistemaoperativoseencargaderepartireltrabajodelosprocesadoresdeformadinmica.

    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.Funcionamejorconobjetosinmutablescomolosarchivos.

    wServidordeejecucin.

    navegacin.Sicontinanavegando,consideramosqueaceptasuuso.Puedeobtenermsinformacin,obienconocercmocambiarlaconfiguracin,ennuestraPolticadecookies

  • 17/5/2015 SistemasDistribuidosAMOEBA?ArtculodelaSemana

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

    ObjetosyPosibilidades.

    wUnobjetoesunTDAyescontroladoporunproceso.

    wLasposibilidadesidentificanalobjetoylodotandeproteccin.

    nPuertodelservidor(48)

    nObjeto(24)

    nDerechos(8)

    Verificacin(48)

    wElcampopuertodelservidorseusaparalocalizarlamquinaenlaqueresideelservidor.

    wElcampoobjetolousaelservidorparaidentificaralobjeto.

    wElcampoderechosindicalasoperacionespermitidasalpropietariodeunaposibilidad.(Independientementedelosderechosquetengaelobjeto).

    wElcampoverificacinseusaparavalidarlaposibilidad.

    Administracin.

    wProcesos:SonobjetosenAmoeba.Alcrearunonuevoelpadreobtieneunaposibilidadparaelhijo.

    wLaadministracindelamemoriaposeeunacaractersticafundamental:Lossegmentosnosepaginanniseintercambian,portantounprocesodebeestarcontenidoenlamemoriaporcompleto.

    wDesempeo:MayorvelocidadenlaRPC.Todoslosdatosestnadyacentesenlamemoriavirtualyfsica.Noseproducenfallosdepgina.

    wSencillez:Elnotenerpaginacinelncleosermascontrolable.

    wEconoma:alsertanbaratalamemoriasepodrusarmemoriasdecientosdeMegabytes,conloquesereducelanecesidaddepaginacin.

    Toleranciaafallos.

    wParalatoleranciaafallosseusaelservidordereplicas.

    wstefuncionamejorconobjetosinmutablescomolosarchivos,yaquetrabajaensegundoplano.

  • 17/5/2015 SistemasDistribuidosAMOEBA?ArtculodelaSemana

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

    CynthiaCortezNuevo usuario

    #2

    ALGO MAS DEL AMOEBA...

    AMOEBA esta basado en una arquitectura micronucleo es decirprovee un conjunto de primitivas ollamadas al sistema mnimas, para implementar servicios bsicos como espacios de direccionescominicacion entre proceso y planificacion basica. ES MUY INTERESANTE AHI LES DEJO LAPAGINA DE AMOEBA PARA QUE ENTREN Y SE INFORMEN MAS SOBRE ESTE SISTEMADISTRIBUIDO OPERATIVO(esta en ingles).

    http://www.cs.vu.nl/pub/amoeba/

    rodrigomorales80489Nuevo usuario

    #3

    CITADO POR:

    RODRIGO RENE MORALES ARROYOA80489Cita:

    quieres saber mas sobre AMOEBA, como su arquitectura, su funcionamiento, su gestion de procesos, gestion de memoriavista elk siguiente link donde se encuentran diapositivas con una explicacion clara sobre puentos importantes sobre lossitados. 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 seencuntra en INGLES pero es muy interesante cuando lo lees ademas de que leer documentos en Ingles nos ayudara ainterpretar mejor las cosa ya que los documentos traducidos no son exactamente buenos ya que el traductor lo traduce a supunto de vista

    Comparison of Amoeba Vs Mach Operating Systems

    Yousuf Surmust

    Research Project: CS550 Fall 2001

    Illinois Institute of Technology, Chicago, US.

    Email: [email protected]

    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 massivelyparallel 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 arecompared and contrasted in various areas, like process management, memory management, communication etc.

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

    27/Feb/2011, 09:48

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

  • 17/5/2015 SistemasDistribuidosAMOEBA?ArtculodelaSemana

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

    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 sharefiles in various ways.

    Nowadays some systems have many processors per user, either in the form of a parallel computer or a large collection ofCPUs 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 developedthere and at Center for Mathematics and Computer Science, also in Amsterdam. This research, partly done in cooperationwith the Centrum voor Wiskunde en Informatica (CWI), has resulted in the development of a new distributed operatingsystem, called Amoeba, designed for an environment consisting of a large number of computers. The chief goal of all thiswork 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 Accentpioneered a number of novel operating system concepts, its utility was limited by its inability to execute UNIX applicationsand its strong ties to a single hardware architecture that made it difficult to port. Machs communication system andphilosophy are derived from Accent, but many other significant portions of the system (for example, the virtual memorysystem, task and thread management) were developed from scratch. An important goal of the Mach effort was support formultiprocessors. Machs development followed an evolutionary path from BSD UNIX systems. Mach code was initiallydeveloped inside the 4.2BSD kernel, with BSD kernel components being replaced by Mach components as the Machcomponents were completed. The BSD components were updated to 4.3BSD when that became available. By 1986, thevirtual memory and communication subsystems were running on the DEC VAX computer family, including multiprocessorversions of the VAX. Versions for the IBM RT/PC and for SUN 3 workstations followed shortly. 1987 saw the completion ofthe Encore Multimax and Sequent Balance multiprocessor versions, including task and thread support, as well as the first

  • 17/5/2015 SistemasDistribuidosAMOEBA?ArtculodelaSemana

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

    official releases of the system, Release 0 and Release 1. Through Release 2, Mach provides compatibility with thecorresponding BSD systems by including much of BSDs code in the kernel. The new features and capabilities of Mach makethe 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 codehas been evicted to run in usermode servers. Excluding UNIXspecific code from the kernel allows replacement of BSD withanother 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 Machkernel 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. Machwas propelled into the forefront of industry attention when the Open Software Foundation (OSF) announced in 1989 that itwould 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 theoperating system on the NeXT workstation, the brainchild of Steve Jobs, of Apple Computer fame. OSF is evaluating Mach 3as 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: amicrokernel and server processes.

    An Amoeba system consists of several components, including a pool of processors where most of the work is done, terminalsthat 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 singleprocess, all of which share the process address space and resources. A thread is the active entity within a process. Eachthread 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 andprotected by a 128bit capability. When a process creates an object, the server managing the object returns a capability forthat object. The capability contains bits telling which of the operations on the object the holder of the capability mayperform. 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 willmanage thousands of objects. The Rights field specifies which operations are allowed (e.g., a capability for a file may bereadonly). Since capabilities are managed in user space the Check field is needed to protect them cryptographically, toprevent users from tampering with them.

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

    Mach:

    The Mach operating system is designed to incorporate the many recent innovations in operatingsystem research to producea fully functional technically advanced system.

    Mach is based on five major concepts: processes, threads, ports, messages, and memory objects. A process, as in othersystems, is a container for holding threads and other resources that are managed together. A thread is a lightweightprocesswithinaprocess, as in Amoeba. A port is a mailbox that is used for communication. A message is a typed datastructure that one thread can send to another threads port so the receiving thread can read it. Finally, a memory object isa 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 areencapsulated into an abstract object. Only the operations of the object are able to act on the entities defined in it. Thedetails of how these operations are implemented are hidden, as are the internal data structures. Thus programmer can usean object only by invoking its defined, exported operations. The object oriented approach supported by Mach allows objectsto reside anywhere in a network of Mach systems, transparent to the user. The port mechanism makes all of this possible.

  • 17/5/2015 SistemasDistribuidosAMOEBA?ArtculodelaSemana

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

    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 seamlesssystemwide file system, and processes were to execute at a processor of the system's choosing, without the user'sknowledge.Objectbased resource management: The system was designed to be object based. Each resource is regarded as anobject and all objects, irrespective of their type, are accessed by a uniform naming scheme. Objects are managed byservers, where they can be accessed only by sending messages to the servers. Even when an object resides locally, it willbe 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 atuserlevel, on top of a standard microkernel that was to run at all computers in the system, regardless of their role. Anissue that follows from the last two goals, and to which the Amoeba designers paid particular attention, is that ofprotection. 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 kernelmode threads and usermode threads could be executed by any processor. It is designed to run on computer systemsranging from one to thousands of processors.Operating system emulation: To support the binarylevel emulation of UNIX and other operating systems, Mach allowsfor the transparent redirection of operating system calls to emulation library calls and thence to userlevel operatingsystem servers.Flexible virtual memory implementation: Mach provides the ability to layer emulation of other operating systems aswell, and they can even run concurrently.Portability: Mach was designed to be portable to a variety of hardware platforms. For this reason, machinedependentcode has been isolated as far as possible. In particular, the virtual memory code has been divided between machineindependent and machinedependent partsSupport for diverse architectures: Mach support for diverse architectures including multiprocessors with varyingdegrees of shared memory access: Uniform Memory Access (UMA), NonUniform Memory Access (NUMA), and No RemoteMemory Access (NORMA) .Simplified kernel structure with a small number of abstractions: In turn these abstractions are sufficiently general toallow other operating systems to be implemented on top of MachNetwork transparency: Distributed operation, providing network transparency to clients and an objectorientedorganization both internally and externallyIntegrated memory management and interprocess communication: Integrated memory management and IPC inMach to provide both efficient communications of large numbers of data, as well as communicationbased memorymanagementHeterogeneous system support: Due to heterogeneous support nature of Mach OS makes Mach widely available andinteroperable among computer systems from multiple vendorsCompatibility with UNIX: Mach is better able to satisfy the needs of the masses than the others operating systemsbecause it offers full compatibility with UNIX 4.3BSD.Ability with varying inter computer network speed: Mach OS has an ability to function with varying intercomputernetwork 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 tasksthat required fast interactive response. All workstations are diskless and are used as an intelligent terminal. Normally, Xterminal is the best choice for this.

    Specialized servers: There are numbers of different kinds of servers available such as directory servers, file servers, database servers, boot servers and various other servers with specialized function. Each server is dedicated to performing aspecific function.

    Gateways: Gateways are used to link the Amoeba systems at different sites.

  • 17/5/2015 SistemasDistribuidosAMOEBA?ArtculodelaSemana

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

    Figure 2:The Amoeba architecture

    The core idea about the Amoeba architecture is that all the Amoeba machines run the same kernel, which primarilyprovides multithreaded processes, communications services, I/O and little else. The kernel is always try to be small aspossible 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 thearchitecture of the Mach OS, LAN added later. Mach has a concept of the home machine. Mach never attempts to spread outload. Workstations run the same kernel (binary image if appropriate) as highend multiprocessors. Development and testingof multiprocessor applications can be made on personal workstation. Workstations provide a user interface to mainframeuniprocessors 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 & IIVAX11/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 themicrokernel while Mach is primarily microkernel designs geared towards the emulation of existing operating systems, in adistributed 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.

  • 17/5/2015 SistemasDistribuidosAMOEBA?ArtculodelaSemana

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

    Comparison of Process Management:

    In parallel supercomputers, processes play an important role, since there are many of them and they must be allocated toprocessors, often dynamically. In many applications, processes synchronization is a key issue. Finally, for finegrainedcomputation, it is frequently useful to have multiple threads of control in a single process. In this section we describe howthese 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, andother 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 incontrolled way.

    Scheduling: Amoeba gives processes the choice of runtocompletion vs. preemptive scheduling for its threads. Mach allowsprocesses 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, andother 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 bymutexes and condition variables. The mutex primitives are lock, tryock and unlock. The operations on condition variablesare signal, wait and broadcast.

    Thread migration concept: Amoeba does not distribute the threads of a single process over the CPUs. They all run on thesame processor. Instead, it is processes, not threads that are spread over the CPUs. Mach, in contrast, allows finegrainedcontrol of which threads are assigned to which CPUs using the processor set concept. This mechanism allows trueparallelism 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 parallelsupercomputers. Depending on the CPU chip used, virtual memory may also be available, in which case it, too, must bemanaged. Memory management on parallel computers is not appreciably different from memory management on singleprocessor computers, but it is still important.

    Address space: In Amoeba, a process can have any number of variable length segments mapped into its virtual addressspace wherever it wants to. Once in, a segment can later be mapped out. Segments are controlled by capabilities, and canbe read and written by any process holding the capabilities, including remote processes, for example, for debugging. Machprovides 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 anoutgoing message spans virtual page boundaries. No paging means Amoeba system is simpler and makes the kernel smallerand 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 beused. When an absent page is touched, its external pager is told to find it and bring it in. This mechanism supports fulldemand paging.

    Object based system and page based system:

  • 17/5/2015 SistemasDistribuidosAMOEBA?ArtculodelaSemana

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

    Amoeba supports an objectbased system that allows variablesized software objects to be shared using the kernelsreliable 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. Amoebasupports shared objects replicated on all machines. Objects can be of any size and support operations. Reads are donelocally 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, interprocesscommunication is internal, and is thus managed entirely locally. In a parallel supercomputer, interprocess communicationmeans sending messages between machines over some kind of network. These messages must be sent reliably and with aminimum of overhead. Most of the communication protocols developed for conventional networking, such as TCP, OSI, andX.25 are too heavyweight for use in a parallel system. In particular, the critical parameter here is not the bandwidthachievable for long transmissions, but the delay required for short messages.

    A scheme called remote procedure call (RPC) potentially provides a simple, high performance interprocess communicationmechanism that retains most of the semantics of local procedure call. Very briefly, the calling process calls a libraryprocedure, the stub that has the same interface and parameters as a procedure on the remote machine. The libraryprocedure 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 thecaller when it gets back. In this way, the neither the calling nor called procedure is aware that they are on differentmachines. This technique is widespread in distributed and parallel systems.

    Forms of communication: Amoeba supports three forms of communication

    Unreliable oneway message passingReliable RPCReliable 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 avariable part and are typed.

    Message transmission:

    Amoeba uses a custom protocol called FLIP (Fast Local Internet Protocol) for actual message transmission. This protocolsupports both RPC and group communication and is below them in the protocol hierarchy. In OSI terms, FLIP is a networklayer 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 nothave 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 providesthe buffer directly in user space. In Mach, messages are sent to ports. These are data structures managed by the kernel thatprovide 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 capabilitylist.

    Only Mach has SENDONCE capabilities.

  • 17/5/2015 SistemasDistribuidosAMOEBA?ArtculodelaSemana

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

    Only Amoeba allows multiple replicated servers to listen to the same service address to stochastically distribute therequests over the servers.

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

    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 threadresponsible 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 arbitraryaddresses.Communication comes in three forms: Unreliable oneway message passing, Reliable RPC, and Reliable totally orderedgroup communicationMach uses lightweight processes, in the form of multiple threads of execution within one task (or address space), tosupport 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 incontrolled way.By providing lowlevel, or primitive, system calls from which more complex functions may be built, Mach reduces thesize 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 helpfulcomments.

    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 DistributedOperating 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 StatusReport. 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. vanExperiences 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 LargeScaleMultiprocessor 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.,

  • 17/5/2015 SistemasDistribuidosAMOEBA?ArtculodelaSemana

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

    Tema anterior Tema siguiente Arriba

    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

    vidalREYNuevo usuario

    #4

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

    VIDAL REYNALDO ALVAREZ CHALLCO

    A75256

    Nueva respuesta

    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:Versin imprimible del temaSubscrbete a este temaDate de baja de este tema

    Ir al subforo: [ Selecciona un subforo ] OKTU NO PUEDES Escribir nuevos temas en este foro

    TU NO PUEDES Responder a los temas en este foroTU NO PUEDES Editar tus propios mensajes en este foroTU 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

    27/Feb/2011, 22:32