Now that AT&T Co’s Bell Laboratories has been doubly removed from its original position at the centre of core Unix development – first Unix System Laboratories Inc was spun off as a separate entity, and then Novell Inc bought it – it is free to pursue other technology paths without fear of conflict. Dennis Ritchie and some of the other original Unix development team at Bell Labs have been talking for some years now about Plan 9 (named after the cheapo 1950s science fiction epic Plan 9 From Outer Space), a research project taking some of the design goals of Unix a stage or two further, while not getting too bogged down in the usual compatibility issues. News about Plan 9 first began to break back in 1990, but since then little new information has emerged. Now Dennis Ritchie has been booked as a keynoter at the UniForum trade show in San Francisco this month, and plans to give the industry an update on progress so far (CI No 2,363). While Ritchie insists that Plan 9 is still a research effort and it’s not being developed in any event with the plan of turning it into a product, there are increasing signs that the technology is in fact being groomed for release into the real world.
Intriguingly
Some internal integration projects have progressed, 150 university licences are already out there and Ritchie talks intriguingly about negotiations for the first commercial licence. And some concessions appear to have been made to commercial realities since the initial disclosures. As originally described, Plan 9 was a distributed system divided into CPU server and file server components, along with a terminal server portion running on specialised terminals – these were basically diskless workstations based on the Motorola Inc 68020 – equivalents of the Sun-3. The prime advantage was that terminal users could retain a complete view of the Plan 9 system from any terminal. It ran on MIPS Technologies R-series-based Silicon Graphics Inc hardware, and eschewed X Window for its own windowing system. Now however, says Ritchie, access to X Window and non-specialised hardware has been added. Plan 9 now runs on five architectures: the original 68000, Sparc, R-series, iAPX-86 and the Hobbit RISC with a couple more possibilities on the cards. The notion of CPU servers means that you can add computational power centrally rather than expensively and wastefully configuring individual desktops. The efficiency of the Plan 9 code means that it will run well on low-powered hardware – Ritchie said the kernel on his Motorola-based desktop was 152Kb.
By John Abbott
Even so, the specialised Gnot terminal has also been updated, using a MIPS R4400 chip and with a larger amount of memory. This will enable more things to be done on the terminal, and will enable direct fibre optic connection rather than use of Ethernet. The configuration within Bell Labs has been designed in such a way that the precise location of things, and where actions take place, is quite flexible – as the application changes you can do things in different ways. The terminal I have at home has a local disk split up into a cache block for the remote file system and a small local file system, says Ritchie, and you can do things in various places. The advantage is the control factor – things such as compilation can use the remote file system via ISDN, while local work can remain unique to the user, so that sensitive information need never appear on the public file system. One of the main technical differences between Plan 9 and Unix is that the file system space and name space is configured per process. A program running on a Unix machine sees the same file system as any other, whereas in Plan 9 the things that are visible are dynamically attached to the program, and you see the environment of that program wherever you are on the system. The choices to make as where to run a program depend on how close it is to the files and the display. X Window is now available for importing programs, and there is a library that makes a complete Posix 3.1 environment available. Programs th
at conform to Posix and ANSI C are supported. Plan 9 uses a C compiler written especially by Ken Thompson, mainly because they do not want to be tied to a particular manufacturer’s compiler for licensing reasons. In fact a lot of the new developments are being carried out in a new language – Alef – which is a C-based language that does not attempt to be fully compatible with the original. It includes interprocess communications, treating the semantics of both processes and tasks identically. Ritchie says the intention is to get this technology out onto the market at some stage. It is Alef, rather than C++, that is the focus for the newest developments. How does all this relate to what everybody else is tasking about – the Distributed Computing Environment? According to Ritchie, DCE is a grab bag of technologies, including all the things that people have thought of. But although Plan 9 takes a fundamentally different approach, there is some convergence here as well, and Ritchie admits that both could probably learn from each other. Distributed Computing Environment and similar approaches are concerned with explicit remote procedure calls, stubs and the like, meaning that there is a request-response paradigm just beneath the surface. Plan 9 – following on from Unix, but taking it much further – treats everything as a file, with operations on things carried out by reading and writing files. The distributed capabilities of Plan 9 come about because of the pervasive use of remote file systems where the applications understand the file system protocol. In effect this pushes the remote procedure call mechanism down a layer, with the operating system itself carrying out remote procedure calls in order to do file system operations.
Television
Remote procedure calls are implicit rather than explicit. But the work with the Alef language is making the communications somewhat more explicit again. Last we heard, Novell was still showing some interest in retaining rights to Plan 9, but it’s hard to see how it fits in with its future strategy, which is currently somewhat unclear anyway. Meanwhile, Ritchie himself is involved in setting up what may be the first commercial contract for Plan 9. He won’t say who the company is, but hints that the potential deal is in a new area where they don’t have to worry about compatibility. Plan 9, he says, inhabits a different world from Unix, and if it it spreads, it will be in areas in some senses specialised, where its virtues are more important than its differences. One such area, he suggests, may be in the growing area of small-sized remote portable systems and television set-top controller boxes.