The Guardian (Manchester); 22 February 1990; Claire Neesham; p. 31
Claire Neesham welcomes the arrival in the UK of the NeXT workstation the first Mach machine designed for the mass market . THIS week Steve Jobs' NeXT workstation, launched 16 months ago in the US, finally reached the UK. The NeXT cube has high-resolution graphics and CD quality sound. But it is also interesting in a more subtle way, for it is not just another Unix workstation, it is a Mach workstation. Mach is the product of a US government-sponsored project at Carnegie Mellon University, Pittsburgh. It is modern in computing terms, the first lines of code being written in 1985. But despite its youth, Mach has already captured the imagination of computer wizards. NeXT is the first computer supplier to bring out a Mach machine for the mass market, but it is unlikely to remain alone. The Open Software Foundation has endorsed Mach as the basis for its OSF/1 operating system, and a flick through the list of companies with Mach development kits reveals the names of many major computer suppliers, including IBM, DEC and Apple. The reason why there is so much interest in this system becomes clear when you see what it offers. Contrary to popular belief, Mach is not just a new flavour of Unix. It isn't even a full operating system. Mach is a kernel program that deals with the low-level functions needed to make an operating system work. Mach does not provide a suitable environment for programming or using a computer. Therefore it has to be run in conjunction with a conventional operating system. On the systems available today, such as the NeXT machine, this is Berkeley Unix release 4.3BSD. Don Scelza, a director of Conner Scelza Associates, Mach's research distributors, believes this is why people are interested in the environment; as long as you don't dig too deep it looks just like a better version of Unix. However, Mach needn't only be used with Unix. It could have DOS on top, or a new operating system, such as the one being developed by the OSF. In fact, Mach can support several different operating systems simultaneously. Unlike Unix, which is 20 years old, Mach was developed in the mid-1980s. Professor Richard Rashid, head of the Mach project, says ``When we began the project it was appropriate to design for multi-processor systems and object orientated software, because as a research organisation we had to support the machines of the future as well as those of the present.'' He adds that at a very early stage of development the team decided that Mach should be portable because if it wasn't it would not survive. Since Mach was developed to run on multi-processor systems from scratch, it is faster at multi-processor operation than a modified single processor operating system such as Unix. Mach achieves this through the way it organises programs. It breaks them down into tasks which can be processed by several threads (routes). These can then be run simultaneously on separate processors in a multiprocessor machine. Unix breaks programs down into processes which are equivalent to a task and a single thread, so it is harder to split a process between processors. Also, communication between Mach tasks is more efficient than between Unix processes. Although the techniques used in Mach are new they are not unique. In fact, a lot of the fundamental features of the system are based on a previous CMU project called Accent. The Accent operating system was used commercially on Three Rivers' Perq workstations, which were licensed to ICL. MicroSoft's OS/2 also uses threads, virtual memory and inter-process communication. However, its implementation is specific to Intel 80286 chips. What Mach offers over other systems is an efficient implementation of these advanced techniques, hardware independence and Unix compatibility. It is also free for research purposes. All this attracted NeXT to Mach in late 1986. But choosing Mach was a brave decision the system was an unknown quantity. Avadis Tevanian, NeXT's manager of system software, says the company decided to pick what was right even if it meant development took longer. NeXT was aware that any new workstation would have to be Unix-compatible, but it didn't just want Unix. ``Mach provided a way to get Unix with added advantages,'' says Tevanian. Mach's multi-threaded functions simplify the generation of NeXT's high-quality sound, as they allow other tasks to run at the same time. Also, the close integration of virtual memory and message passing means tasks involving the transfer of large amounts of data can run up to 10 times faster than in Unix-based systems, because the system can transfer data by reference the data itself does not have to be moved. ``If we had just used Unix we wouldn't have had such a rich environment,'' says Tevanian. He points out that the decision to use Mach is getting better every day as more companies take NeXT's route. In addition to NeXT's Motorola 68030 machine, Mach runs on most DEC VAX processors, Sun 3 workstations, a range of 80386-based PCs, Encore and Sequent multi-processor machines and the IBM 6150/RT. There are also some Mach features in the NextStep interface offered with IBM's new RS/6000 (Rios) workstations. Mach's portability ensures its place on computer suppliers' research machines. CSA's Scelza already has evidence of this; his company is sending out at least five Mach/Unix distribution tapes each week. These are going to a range of research departments from government offices to small software houses, both in the US and Europe. Rashid is emphatic that Mach should remain freely available to researchers, and that it should be used as the basis for as wide a range of operating environments as possible. As Scelza says, ``Mach has the chance of doing what Unix did; that is, becoming the de facto standard for both the research and the commercial world.''