TUNIS ( was Re: Future at Berzerkeley )

Mark Funkenhauser funke at turing.toronto.edu
Wed Mar 29 11:53:08 AEST 1989


In article <373 at bnr-fos.UUCP> hwt at bnr-public.UUCP (Henry Troup) writes:
> Some years ago, when I was an undergrad at the University of Toronto, 
> a prof had just completed TUNIS, the Toronto UNIx System.
> This was a Unix (BSD) kernel written in Concurrent Euclid.
> Anyone know what if anything happened with this?
>

[ I believe TUNIS is short for "Toronto UNIversity System" ]

TUNIS is a re-implementation of the UNIX kernel. Its principle design goals
were to determine if a kernel could be written using the most
recent software engineering techniques without significant performance loss.
These techniques include modularity, hierarchical structuring, 
abstraction and information hiding.
A concurrent programming language was also developed (somewhat in parallel)
to aid in the implementation of TUNIS. This language was called Concurrent
Euclid. This has since been replaced by a new generation language
called Turing and Turing Plus.
The Turing language is strongly typed, has a precise
and formally defined semantics, enforces modularity and data abstraction
and Turing Plus provides concurrency primitives (e.g. light weight processes,
synchronization and mutual exclusion constructs ... ).
The compiler optionally provides a multitude of runtime checks to ensure that 
the program execution conforms to the language semantics.

An important concept used during the design is that the language
defines truly concurrent processes.
Each process could run on a separate processor if multiple processors 
were available and the processors shared a common memory.
In fact there have been 2 successful implementations of tightly 
coupled multi-processor systems using TUNIS: a Master-Slave version 
and a Symmetric (or distributed) version.
The Master-Slave version supports real-time applications and is being used 
by a group within the university to do robotics research and development.


Research and development of TUNIS is still active.
It is currently 4.1 compatible and runs on several NS32000 systems.
We are in the process of becoming POSIX (and SVID) compatible.
We are also porting it to the mc68030 and 80386 architectures.

Currently ongoing projects include :

  1) the development of Trusted TUNIS. A 'Unix' system that meets the
     US DoD's B3 level criteria for trusted computer systems.

  2) the development of HECTOR - a tightly coupled multiprocessor system 
     that can contain several hundred (thousand?) 88000 processors.
     This includes the development of a new hierarchical bus architecture.
     The software will be BSD4.3 and/or SunOS compatible 
     with new features such as user controllable light-weight processes 
     (aka threads).


The source code for TUNIS has been available to universities for teaching
and/or research purposes. There does not exist a commercially available
version (yet) but we sure would like to hear from anyone interested
(commercially or otherwise) especially in our Trusted TUNIS research.


Any further info can be obtained from:

   TUNIS Distribution Manager
   Computer Systems Research Institute
   University of Toronto
   10 King's College Road
   Toronto, Ontario, Canada
   M5S 1A4


or from me :

   Mark Funkenhauser   		     email:   funke at csri.toronto.edu
   ( at the above address )





More information about the Comp.unix.questions mailing list