funke@turing.toronto.edu (Mark Funkenhauser) (03/29/89)
In article <373@bnr-fos.UUCP> hwt@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@csri.toronto.edu ( at the above address )