|
|
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:
The VX-Amoeba kernel, a compact and powerfull
microkernel with distributed operating systems features.
The VX-Amoeba environment, primary consisting of
libraries supporting process execution on the top of the VX-Kernel,
building a network distributed operating system.
The AMUNIX environment: Amoeba (concepts) on the top of
UNIX like operating systems!
The AMCROSS crosscompiling environment necessary for
building native VX-Amoeba target binaries programmed in C.
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.
(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
Distributed measuring and data acquisition systems, for
example remote digital camera servers connected with an ethernet
network equipped with digital imaging software.
The native Amoeba kernel is very well suited for embedded
systems, like PC104 single board equipmment.
Distributed systems for machine control.
High performance parallel computing and other distributed
numerical computations.
Distributed filesystems on the top of standard operating
systems.
Distributed remote (wireless) robot control.
Educational tool for the convinient study of distributed
services and operating systems.
- Advantages of a hybrid system
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.
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.
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.
(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
|