Start Research Competences Projects Publications
Software Systems
VAM
VAMNET
Deutsch
Print version
PDF
AMUNIX
VX-Kernel
Performance
AMCROSS
Documents
AMOEBA
The Virtual Amoeba Machine Network




VAMNET - a hybrid operating system


Overview

The VAMNET is a hybrid operating system environment for distributed applications in a heterogeneous environment, concerning both the hardware architectures used and operating systems already present, for example the UNIX-OS. The VAMNET consists of several parts. Some of them can operate standalone. All of them built up a hybrid distributed operating system environment with some new features never seen before. These parts are:

  1. The VX-Amoeba kernel, a compact and powerfull microkernel with distributed operating systems features.

  2. The VX-Amoeba environment, primary consisting of libraries supporting process execution on the top of the VX-Kernel, building a network distributed operating system.

  3. The AMUNIX environment: Amoeba (concepts) on the top of UNIX like operating systems!

  4. The AMCROSS crosscompiling environment necessary for building native VX-Amoeba target binaries programmed in C.

  5. VAM: The Virtual Amoeba Machine. This machine unites the core Amoeba concepts with the world of functional programming in ML and bytecode execution machines for portable and some kind of safe execution of programs. All Amoeba system servers, needed to build up a distributed operating system, were reimplemented with VAM-ML. VAM programs can be executed both on the top of the AMUNIX and the VX-Kernel process layer.


Figure 1 gives a graphical overview of all these components.

Image

(Fig. 1) All the components of the VAMNET system together in an example configuration.


The VAMNET is an ongoing research and development project by Dr. Stefan Bosse from the BSSLAB laboratory, Bremen Germany, started in the year 1999, currently converging to his final stage.


Fields of application

  1. Distributed measuring and data acquisition systems, for example remote digital camera servers connected with an ethernet network equipped with digital imaging software.

  2. The native Amoeba kernel is very well suited for embedded systems, like PC104 single board equipmment.

  3. Distributed systems for machine control.

  4. High performance parallel computing and other distributed numerical computations.

  5. Distributed filesystems on the top of standard operating systems.

  6. Distributed remote (wireless) robot control.

  7. Educational tool for the convinient study of distributed services and operating systems.



Advantages of a hybrid system

  1. The basic concepts of the distrubted operating system Amoeba are avialable with common operating systems with a convinient desktop environment. New operating systems mostly lack of actual device drivers, especially on the i86-pc platform with a wide spectrum of available hadrware.

  2. For specializied (perhaps embedded) machines, for example data acquisition systems, or hadware device reduced numeric cluster machines, the native Amoeba kernel is the best choice, featuring a modern and clean microkernel, and exploring the power of the Amoeba system.

  3. Both worlds, embedded and specialized computers and desktop computers, can be merged with simple but powerfull methods and concepts using a hybrid system solution. Each machine gets the system which fits best.



The VAMNET system forges all previously shown single parts to one hybride operating system:

  • The VAM runtime environment with system servers and user interaction,

  • the native VX-Kernel and a process envrionment on the top of the VX-Kernel,

  • native VX-Amoeba programs, which can be user customized programs.


The next figure 2 shows an example configuration of such a hybrid system. Here, the VAM system is used to control a CNC milling machine connected to external embedded PC104 hardware, running with the VX-Kernel and a CNC machine device driver controlling the axis motion of the machine directly.

First, a boot script will start some basic servers needed for an operational Amoeba system. This is the fileserver AFS afs_unix and the directory and name server DNS dns_unix. Both store informations in generic UNIX files. Under UNIX, the FLIP server flipd is needed for client-server communication, too.

Now the user can start some utils programs, like the VAM shell vash. For development purposes, the interactive vam program can be used. With this program it's for example possible to compile and execute ML scripts. Also it porvides an online help system containg the VAMNET book.

On the native Amobe side using an embedded PC104 system, there is a boot server to startup the device driver needed to control the connected milling machine. Both computers are connected with 100MBit/s ethernet.

All shown components are merged to one operating system environment. With the VAM shell vash it's possible to get access to the native Amoeba Kernel, for example kernel statistic informations can be simply accessed by calling the builtin kstat command. The administration of such a hybrid system is quite simple. After the Amoeba file- and directory system was created (using the above shown servers, too), only some capabilities must be inserted in the UNIX environment (using generic UNIX environment variables like ROOTCAP specifying the root capability) and the new created directory system, and some system directories expected by various servers and util programs.

Most VAM programs can be executed directly on the native VX-kernel. Only the system Amoeba libam and a limited UNIX emulation library libakjax are required to implement the VAM virtual machine. This is the only VAM part which must be adapted to the VX-Amoeba process environment. The VAM bytecode executables can be used unchanged for both the native and the AMUNIX Amoeba environment.

Image

(Fig. 2) A VAMNET example configuration connecting a UNIX desktop computer with a network coupled PC104 controller.




References



[KAS93]
M.F. Kaashoek, R. van Renesse, H. van Staveren, and A.S. Tanenbaum
FLIP: an Internetwork Protocol for Supporting Distributed Systems

ACM Transactions on Computer Systems, pp. 73-106, Feb. 1993.
[AMSYS]
Amoeba 5.3 System Administration Guide
[AMPRO]
Amoeba 5.3 Programming Guide
[COU98]
G. Cousineau, M. Mauny
The Functional Approach to Programming
Cambridge Press, 1998
[Fab99]
Software: Fabrice Le Fessant, projet Para/SOR, INRIA Rocquencourt.
[OCAML305]
Software: OCaML version 3.05, Xavier Leroy et al., projet Cristal, INRIA Rocquencourt



Generated by MANDoc (C) 2005 BSSLAB Dr. Stefan Bosse
Revision 1113144377

Powered by VAM, Revision 1138111946