The Guardian (Manchester); 30 May 1991; Claire Neesham; p. 31
New dawn heralded by Chorus advance. Programmers are gutting big, old operating systems to put something small and modular at their core. Claire Neesham looks at the trendy new wave of microkernel designs.
WHILE the Unix buffs discuss stan dards and add fea tures - having finally won the stamp of approval from the ''men in grey suits'' - and while the DOS followers ponder the future of Windows and OS/2, the operating system designers have been turning their attention to smaller and better things. In particular their thoughts have turned to microkernels - a term that is fast becoming a computer industry buzzword. The names associated with this new approach include Carnegie Mellon University (CMU) in the US, Chorus Systemes in Paris, Tao Systems in the UK, and AT&T's Bell Labs. They are all working on systems for the multi-processor and distributed computing environments that all the hardware vendors are now promising. The idea behind the microkernel is that there should be a small number of standard operations performed by a minimal kernel at the heart of the operating system. This nucleus can then support a whole range of other separate programs required by the users - for example, the functions needed for Unix System V compliance. An operating system is a vehicle for running software, which suggests a motoring analogy. What microkernel designers are doing is leaving the car apparently unchanged while redesigning the engine. Of course Unix was designed to have a small kernel, handling only machine-specific functions such as device drivers and terminal input/output. However, over the years many other functions have been added, including network and window support. This has resulted in an increasingly large and unwieldy kernel, which contrasts with the newer micro-kernels where many of the functions associated with Unix - like file servers and networking - live outside the kernel with the user applications. The micro-kernel enables these programs to talk to each other, and provides facilities for the programs to poke selected parts of the hardware. One of the first companies to supply a commercial system based on these concepts is Chorus Systemes. Its micro-kernel began life in the labs of the INRIA research centre in France early in the 1980s. Chorus Systemes was set up in 1986 to produce a commercial product based on this research. It also drew on ideas from other microkernel research projects such as Mach at CMU and Amoeba developed at the Vrije University in Amsterdam. Also, Chorus Systemes has focused on encapsulating the Unix System V functions not found in the kernel - such as the file server and memory management - and placing them in discrete modules, referred to as servers. This modular approach makes it easier to distribute functions across machines or processors. Further, the user can select which modules they need, freeing memory for other uses. (For example, someone with a standalone workstation doesn't need the file server module.) Chorus's Gerard Yon compares this modular approach to a modern building, where the structure only has the minimum requirements and it is up to the occupant to add the office modules and any decoration. In this analogy, a traditional operating system is like a large Victorian building with a fixed structure. Any alterations may require whole sections to be rebuilt. Similarly, changing a small corner of the Unix kernel, perhaps to fix the spelling of a startup message, involves relinking the entire kernel. A microkernel like Chorus may have the same functionality as Unix System V, but making alterations is much easier because each module is a discrete entity. Changes to one module will not affect the rest. The programs don't have to be linked to be able to ''talk'' to each other, because they work by sending messages rather than making system calls. The bonus is that messages can equally well be passed between machines. Thus a program running on one machine can use, say, the file system of another, without the user knowing it. The result is a distributed computing system. Alternatively the programs could be running on separate processors in one parallel system. This makes it easy to arrange for a program to run simultaneously on several processors. Fault-tolerant systems can be built by duplicating critical functions, while distributed virtual memory and powerful communications can ease the job of the programmer. Of course, these advantages are well understood by hardware and software vendors, who have been looking at doing things in a similar way. Chorus has already been adopted by Unisys, GEC-Plessey Telecom and Intel's supercomputer division. Next week, Inmos is expected to announce a multi-million dollar deal with ''one of the world's largest telecommunications equipment suppliers'' using the Chorus system with Transputers. Sun and AT&T have microkernel plans for the next release of System V Unix. There is also talk of Unix International - the organisation which steers the Unix V.4 standard - combining ideas from Chorus with Plan 9 from Bell Labs, a new client/server system developed by the original Unix wizards (Computer Guardian, July 19, 1990). The Open Software Foundation (OSF) is also working on a microkernel-based version of its rival Unix using Mach release 3.0 technology. This will be OSF/2. The impending OSF/1 release is not, however, a microkernel operating system because Mach 2.5 contains many functions from the Berkeley Software Distribution (BSD) version of Unix mixed with the Mach kernel. What the CMU team has done with Mach 3.0 (which is still under development) is remove the BSD functions from the kernel, leaving a system which supports interprocess communication, threads, virtual memory, and a few device drivers. But Mary Thomson, Mach's distribution manager, stresses that the operating system that runs on top of the kernel does not have to be Unix. Indeed the modular design means the main features of multiple operating systems can run on top of the kernel simultaneously. At present the CMU team has DOS and Unix features running on the Mach kernel. This should allow a user to run DOS and Unix applications together, and also to share files and data between these applications. Presumably Microsoft's forthcoming portable New Technology operating system - which is intended to support DOS, Windows and OS/2 programs plus the standard Posix calls - will work in the same way. It is not hard to see the attraction of this approach to companies such as DEC, which could have VMS and Ultrix running on the same kernel. And it is no surprise that Chorus will also be offering multi operating system support in the future. In fact Yon points out that users will be able to design their own features to run on top of the kernel. This is possible because organisations such as CMU and Chorus are using some of the concepts of object orientated design in their systems. The idea with such design is to provide a core set of functions for accessing, manipulating and transferring information. This information can be anything as is shown by Tao Systems of Ingatestone, Essex. Tao has designed what it calls an object management system, Taos, which comes as a kernel and objects. The objects are similar to Chorus's server idea, but are smaller and can be tools (for example, a small C function), controls (holding information on other objects) and processes or data. Tao's aim was to develop a system which addressed the problems of parallel processing, while enabling general purpose applications to be developed in a familiar environment. Stephen Turner, Tao Systems' marketing director, is reluctant to give Taos the microkernel label (it can mean so many things), but he admitted that this new system does have concepts in common with other modern kernels. For example, at the core of the system is a small (16K) message-passing kernel which communicates and automatically distributes the tools around the network. Taos will run on any type of processor as it uses the idea of a virtual processor. All tools are held in the binary code for this imaginary processor. Only at run-time are they converted into the machine language of the real processor using Tao Systems' translator - a process Tao claims carries negligible overhead. Interest in Taos is growing, with companies like Texas Instruments announcing that it will be the operating system for its new C40 digital signal processing chip. Sun Sparc and Intel i860 versions of Taos are under development. This interest in microkernels fits in with other industry developments, such as the trend towards object-based programming and the coming of multiprocessor and distributed systems. Microkernels are merely another piece in that puzzle called client/server computing. Chorus Systemes, 6 Avenue Gustave Eiffel, 78182 St Quentin- en-Yvelines, Cedex, France. Tel: (010-331) 30.64.82.00. Tao Systems (UK) Ltd, 53 High Street, Ingatestone, Essex. Tel: 0277 355785.