Contact us Heritage collections Image license terms
HOME ACL ACD ICF SUS DCS G&A STARLINK Literature
Further reading □ Overview18. Getting started19. SRC orders20. ICL manufacturing21. UNIX strategy22. ACCENT UNIX23. Microcode UNIX24. UNIX developments25. PERQ - DAP26. PR27. SUSSG28. Competitors29. Communications30. Office pilots31. GKS
C&A INF CCD CISD Archives Contact us Heritage archives Image license terms

Search

   
ACDSingle User SystemsPERQ HistoryPart V
ACDSingle User SystemsPERQ HistoryPart V
ACL ACD C&A INF CCD CISD Archives
Further reading

Overview
18. Getting started
19. SRC orders
20. ICL manufacturing
21. UNIX strategy
22. ACCENT UNIX
23. Microcode UNIX
24. UNIX developments
25. PERQ - DAP
26. PR
27. SUSSG
28. Competitors
29. Communications
30. Office pilots
31. GKS

1982

24. UNIX DEVELOPMENTS 1982

24.1 January 1982

Both implementations made good progress in January 1982.

The Microcode C implementation had defined most of the C-machine. The major outstanding area was the instructions concerned with real arithmetic. The aim was to base these on the existing PERQ microcode suitably changed. Progress had been made on the C compiler.

The Accent UNIX project was using an early version of the kernel which did not support the hard disc and consequently was paging to a floppy disc. Most of the modules to be written had been defined but not implemented. Studies had been made of all the UNIX utilities to categorise the areas to be looked at and non-standard features identified. Pass 2 of the C compiler was being developed using the TREEMETA Translator Writing System. TREEMETA had been ported to the PERQ and successfully generated itself. The code sequences to be output by the C compiler had been defined.

A new version of the Accent kernel was to be available at the beginning of February which did support the hard disc and it was agreed that Len Ford should visit CMU to pick it up. Telephone calls to CMU had established that the fileserver was written and being debugged at CMU.

Both implementations realised the need for a window manager on top of UNIX and it was agreed that a small group would jointly define a Collaborative Project to be put to SERC and ICL for funding. At that time, SERC were actively encouraging that work associated with the project should be approved via this route.

[To illustrate the complete absurdity of the funding mechanism proposed, a draft was produced in February 1982. After a great deal of time within SERC deciding which committee it should go to, it was finally approved at an alpha rating but not awarded due to lack of funds. It was later transferred to the Alvey MMI Director who wanted convincing of the need. After an international workshop had approved the need, it was still waiting the go-ahead in October 1985 nearly four years later!]

At a joint meeting on 1 February 1982, SERC restated that the specification for the Microcode UNIX implementation did not meet the requirements of the user community. The C-machine being implemented had a 20-bit address space, no protection between user address spaces and no virtual memory. A process call produced a memory swap of one process by another.

At this meeting, plans for graphics on the PERQ were discussed. SERC made it clear that they required a full GKS implementation while ICL were planning GINO-F. The two systems were complementary and microcode enhancements by ICL in the graphics area would benefit both projects.

24.2 February 1982

By the end of February, the Microcode C Implementation had completed most of C-machine. Most of the changes to the portable C-compiler were made and validation was being done. The C-compiler was to generate assembler code and a rudimentary assembler running under POS was being used until the final assembler could be produced.

Primitive I/O facilities had been included in the microcode and work had started on the necessary changes to the UNIX kernel.

The new Accent kernel had been received from CMU on 9 February and paging to the hard disc was now possible. Microcode support for real arithmetic, the GPIB interface, and the RS232 ports were all provided. A full design specification for SWITCHBOARD and REGISTRAR. had been produced. The functional code and the interfaces for these systems had been completed but the control loops and some of the user backend code was still to be written. No testing had been carried out.

Both the first and second passes of the C Compiler had been completed but not tested. It was currently running under the POS operating system (SERC had written all the code in PASCAL) and a simple C program had run. The coding of the C linker was almost complete.

Excellent progress had been made on both projects due to the long hours and dedication to the task shown by the programmers at both organisations.

At a Progress Meeting at the end of February 1982, ICL Marketing made it clear to the development teams that their need was a full 32-bit implementation with virtual memory and performance must be better than Apollo and at least as good as POS performance. Consequently, ICL Marketing were in agreement with SERC as to the user requirements.

24.3 ICL Move to Da1keith

In March 1982, ICL decided to move all system developments associated with the PERQ to Dalkeith near Edinburgh and phase out the group working on the project at Brackne11. SERC heard about the move through the usual university grapevine. The decision had been made by ICL and nobody had the courtesy to tell SERC. At the time, SERC were installing a leased line to Bracknell to improve communications between the two sites!

A new manager, Chris Barfield, was installed at Dalkeith to run the project. SERC does not know the real reasons for the move to Dalkeith. Certainly staff were available there and ICL had had difficulty in getting people to move to Bracknell. On the other hand, not all the staff working on the project moved to Dalkeith. Paul Shave, who had been in charge of the Microcode UNIX developments, stayed in the south and eventually moved to the Applications Group at Reading.

Much much later, staff at Dalkeith said that they had been instructed to close the project down but were so impressed by the quality of the PERQ that they, instead, tried to make it a success.

24.4 March 1982

During March, Brian Rosen visited the UK for an extended period. Another trip was made to CMU to get the latest version of Accent. At that time, new versions were being sent by mail at regular intervals with additional visits at significant changes. Efforts were being made to get Rick Rashid, the designer and implementer of the ACCENT kernel at CMU, to the UK for an extended period to increase the debug rate but without success until much later.

Visitors continued to arrive to see developments and both Kenneth Baker for the Government and John Holbrook for the Science Board Biological Sciences Committee visited RAL for demonstrations.

Kenneth Baker, Minister (DoI) and Jed Brown. Bob Hopgood and his PA look on

Kenneth Baker, Minister (DoI) and Jed Brown. Bob Hopgood and his PA look on
Full image ⇗
© UKRI Science and Technology Facilities Council

At a meeting in early April at which Brian Oakley and Robb Wilmot were present, ICL announced that they and Three Rivers had agreed to adopt Accent UNIX as their long term product. Three Rivers would adopt the HCR implementation in the short term while ICL would either adopt Microcode UNIX or Accent UNIX. SERC at that meeting estimated a working version of Accent UNIX would be available by June 1982. Support from ICL was requested for the Accent microcode.

The state of Accent UNIX at the end of March was somewhat behind target. The C compiler was complete and ready for serious test. The linker was also ready for test and 95% of the UNIX kernel had been completed. The UNIX shell had been compiled and loaded. The next stage was to implement the program (Exec) to load a new program. The FORTRAN 77 compiler had been modified and appeared to be generating correct code apart from the code for characters. It was hoped to demonstrate programs running under UNIX by 15 April, four months after receiving the first version of the Accent Kernel.

By the end of March, the C Compiler for Microcode UNIX was running on the PDP11. Neither the C assembler or linker had been produced so far. The UNIX kernel was progressing well and interrupt and system call handling was being tested on PERQ. Work had started on the floating point microcode. A pre-release version should be ready in July with a demonstration in April.

Work had also started on a Window Manager to mount on top of Microcode UNIX and discussions were taking place concerning a standard interface so that it could run on either version of UNIX.

24.5 Decision to Drop Microcode UNIX

In April 1982, Chris French talked to me and said ICL had decided to drop Microcode UNIX. The long term requirements for ICL and Three Rivers pointed to the need for a virtual memory UNIX based on the Accent kernel as a means of providing a distributed UNIX. Progress on the SERC implementation was such that it was better to put all the effort behind the one project.

Bob Hopgood told him that making such a decision was premature. SERC had no idea of the performance of their product and this was not the correct time to be making such a decision. Another two months would be a better time at which to make that decision.

Developments at Bracknell continued for a while but the aim was to mothball the project and move people on to other activities. Progress had been made on the window manager and work was put in hand to convert it to Accent UNIX.

24.6 April 1982

By the end of April 1982, work on Microcode UNIX had almost stopped. Most of the UNIX kernel had been tested, the floating point microcode had been written and tested except for multiply and divide. The system had run continuously for 6 hours without a break while being used for development. A demonstration of the system was given at the end of April. It had no FORTRAN compiler but produced good performance in compiling and executing small C programs.

The Accent UNIX implementation was also progressing well. The latest version of the Accent kernel had proved to be stable with only one bug appearing. New versions did take a long time to mount so that getting a stable system improved productivity by a significant amount. The UNIX Shell was almost running. It was possible to get the UNIX initial prompt to appear. (This apparently checks a large part of UNIX in the process.)

At the last progress meeting in Bracknell on 26 April 1982, ICL announced their decision to drop Microcode UNIX and it was agreed that Ian Richie, the new technical manager, would work with SERC to productise the Accent UNIX implementation.

At the same meeting, ICL announced that the company had decided to back ethernet as the local area network technology although they would continue to help SERC to support the Cambridge Ring interfaces.

It was also agreed that ICL would plan to port the ERCC FORTRAN to Accent UNIX. A joint development to produce a Window Manager for Accent UNIX was agreed.

24.7 May/June 1982

By the end of May 1982, Microcode UNIX was running and a C compiler was available which generated all but floating point operations. About 36 utilities had been ported and a performance somewhere between half and twice a PDP11/44 was being seen. Work on a window manager had started despite the decision by ICL to drop the product.

On 18 May, ICL and Three Rivers had a joint meeting with CMU at which it was agreed that a commercial implementation of ACCENT would be done jointly by the three parties. SERC's UNIX would be run as a subsystem. This later became named the SOLAR system. ICL agreed to become a CMU Industrial Affiliate as a result.

By the end of May, the UNIX kernel under Accent was working correctly apart from two bugs found in the Accent kernel. The UNIX V7 Shell was running and all features tested. The C compiler had been thoroughly tested as had the linker. The FORTRAN 77 compiler was running although there were some problems in the floating point area due to the difference in representation between the PDP11 and PERQ.

A product plan was agreed between ICL and SERC which was to result in a controlled release of the system in October 1982. Additions to basic UNIX would be a window manager, ethernet support, Cambridge Ring support and additional device drivers. Beta testing of the system would start in July.

The high risks to these timescales were identified as:

  1. Window Manager: time and resources required were very tight and would probably mean it would not be available at Beta test time.
  2. Performance: the performance overheads imposed by the Accent kernel (due to virtual address translation, paging and message passing) were unknown.

Medium risks included:

  1. Stability of Accent Kernel: ICL had an early freeze date for components in the system and it was not clear that remaining bugs in the Accent kernel would be cured by then.
  2. Size of Writeable Control Store: ICL needed control store space for extensions (particularly graphics) already implemented under POS. There could be a trade-off between facilities and performance.

It was agreed that a team of people from ICL, SERC and CMU would meet in June to fully familiarise themselves with the Accent kernel and agree a joint development plan with CMU. This meeting took place on 9/10 June at CMU. Tony Williams represented SERC. CMU agreed as their part in the project to provide new functions in the ACCENT kernel, and to do a set of performance enhancements. Joint developments with Three Rivers would allow dynamic changes to the microcode, a new 16K WCS and a new I/O Board.

A further meeting on 22 June defined a field release date for SOLAR as September with a customer release in the Spring of 1983.

24.8 Completion of Accent UNIX

By August 1982, Accent UNIX was complete and running. At the end of May, a new release of the Accent kernel had cured the last major bug. However, the new version, while an improvement over the previous version, proved unstable especially under the heavy paging loads imposed by UNIX.

The combined ICL/SERC team were able to find a number of microcode bugs in Accent (the ICL expertise was a great help) and these seriously impacted progress for a while. These problems were not experienced at CMU and were highlighted by the way the UNIX system exercised the kernel.

By August, a basic UNIX system with the C Compiler, libraries and a set of 25 utilities was set up for benchmarking purposes. In parallel, porting of additional utilities, FORTRAN and the FORTRAN libraries took place.

The initial benchmark performance was very poor which was traced to an error in the terminal driver which used a large fraction of the cpu.

ICL staff had implemented new Q codes to improve character handling and floating point working and further improvements were obtained when the C compiler was changed to generate the new Q codes.

Performance at this stage was acceptable rather than outstanding on everything but an initial program load. For example, compilation and program execution were beginning to look reasonable. However, executing quite trivial UNIX commands which required a program load was a minimum of 8 seconds and could be greater than 20 seconds depending on program size.

Thus, a system was available but could not be issued due to the excessive delays on initial program load.

24.9 Manpower

The effort (man months) used on the project until July compared with the estimates is given in the following table:

Estimated Actual
C Compiler 6 6
Assembler/Linker 2 3
UNIX Kernel on Accent 3 12
UNIX Shell and Utilities 4 4
Compiler Testing 2 1
Utilities Testing 2 2
TOTAL 19 28

In addition, nearly 12 man months of effort was put into mounting and remounting versions of the Accent system.

It is clear from the above table that timescales were not too wrong in areas where the instability of the Accent kernel had little effect. For example, most of the compiler and utility work was carried out on the PDP11/70. Consequently it was only marginally affected by the lateness of Accent. On the other hand, the basic UNIX kernel took much longer. Each release of Accent had significant differences from the previous. Consequently, the UNIX work was repeated several times.

24.10 Abandonment of Accent UNIX

Len Ford and Liz Fielding spent 3 weeks at CMU in August demonstrating directly to Rick Rashid the problems with the Accent kernel. A new version was generated and brought back. The basic development system was remade and this showed a marked improvement in functionality as well as being more reliable. It was now possible to run POS and Accent processes in separate windows so that the problem of moving users from POS to UNIX would be simple. It was also possible to run both a development UNIX system and a stable UNIX system at the same time in separate windows. An interactive debugger at the Q code level had been added by CMU and this was an excellent tool for program debugging.

Unfortunately the performance improvements were not enough. Commands that should have taken a fraction of a second were taking 5 seconds compared with the previous 10 seconds. Once a program was executing, performance was good but the initial set-up was too time consuming.

By September, the C and FORTRAN compilers and associated libraries were running. About 60 utilities had been mounted and pre-release systems to external sites were scheduled in October. About 40,000 lines of FORTRAN code had been successfully compiled and executed.

CMU were continuing to develop improvements to the kernel and the intention was to visit CMU in October to install yet another version of Accent prior to the field release. This was promised to have much faster message passing which could cure the basic program start-up problem.

Len Ford returned to the UK on 15 October to report that the team working on the Accent kernel had dwindled to one. The kernel was performing adequately for CMU's purposes and they had diverted effort to other projects.

After 8 months of long 10 and 12 hour days by the people involved in the project, it had become clear that the remaining problems with Accent UNIX would not be cleared up in the short term.

By now, users were very anxious to get UNIX on their PERQs and it was not feasible to hope for a miracle that clearly was not going to happen quickly.

At a meeting with ICL on 15 October 1982, it was agreed to mothball the Accent UNIX development, leaving two people on the system to quantify the improvements necessary and identify the problems. Meanwhile, the remainder of the SERC team would work with the ICL team at Dalkeith to finish off the Microcode UNIX version and issue that instead. There was significant development work still to be done as no FORTRAN compiler or window manager existed. A rudimentary virtual memory system would need to be introduced. There was no guarantee that its performance on large programs would be acceptable.

RAL agreed to put 5 people into porting utilities on to the Microcode UNIX system.

The change placed major problems on RAL who had been implementing LAN connections via Cambridge Ring on Accent UNIX. Effectively the work had to be started again from scratch. UMIST were implementing a PASCAL compiler and the order code being compiled to changed completely.

In October, IBM agreed a collaborative venture with CMU to define an Accent-based 68000 workstation. This project later turned out to be using SUN terminals as the development vehicle. Much of the PERQ effort at CMU was eventually diverted to this new project.

Around this time, Three Rivers decided that the HCR UNIX also had performance problems and it too was abandoned.

24.11 Microcode UNIX Completion

Work had continued on Microcode UNIX at a low level during the Summer. By putting all the manpower behind the project, a pre-release version was available at RAL from Dalkeith by mid-November.

Benchmarking of the system showed that it was performing at between half and twice that of the PDP11/70 on small programs. The system had only a small number of utilities and there was a great deal of activity in the autumn porting further utilities.

PASCAL was not available and both RAL and ICL were exploring a number of ways of getting a compiler available including a cross-compilation system. RAL mounted the York compiler to see if it was satisfactory.

Plans were made to make pre-release versions available to sites with extensive UNIX and C experience to exercise the system as fully as possible. As C was the only language available there was no point in making pre-release versions available to users requiring high level languages. The sites chosen were QMC, Edinburgh, York, Newcastle, Cambridge, UMIST, Sussex, Strathclyde and Kent.

Instead of the rich environment already available under Accent UNIX, Microcode UNIX was deficient in many areas. Drivers were not available to support the RS232 and GPIB. Consequently, it was almost impossible to communicate with any other system.

Because of the failure to get the program start-up time down to a reasonable level on Accent UNIX, it had been necessary to regress to a system with no real virtual memory, unknown performance on larger programs or several processes running together, no FORTRAN compiler and a filestore different from POS which would give users considerable conversion problems and problems with engineering diagnostics which currently all ran under POS.

24.12 Summary

About 14 months elapsed between the decision by ICL to sell the PERQ in the UK and the availability of UNIX at field-test sites. The original plan had anticipated that field testing would start around June 1982 so there was a slippage of over 6 months.

The major reason for the slippage was the inability of CMU to deliver an efficient version of the Accent kernel. The SERC strategy of using this to get a version of UNIX available quickly was vindicated in that a UNIX system with compilers and utilities could have been available by mid 1982 given a stable version of the Accent Kernel.

If all the effort had been put into Accent UNIX with the ICL microcode effort to back the SERC effort, it is possible that an efficient implementation of UNIX could have been produced. However, it is also possible that there were fundamental performance problems with the design of the Accent kernel on the PERQ. In this case, the decision to have two approaches was a sensible one.

The decision by ICL to produce a Microcode UNIX version with no virtual memory support was a major mistake. It caused considerable disagreement between ICL technical staff on one side and SERC and ICL Marketing on the other. As a result of the decision, the year ended with a version of UNIX good in performance but lacking in functionality. This mistake continued to haunt the project for the next two years.

This was not the only deficiency. The order code had been designed for languages such as FORTRAN and C. The requirements for PASCAL had been ignored which caused many problems later and various changes to the order code had to be made. It was not until the PNX 2.0 version of the operating system that the order code became stable.

ICL's decision to move the project from Bracknell to Dalkeith caused a slippage in the project in the short term. However, the additional staff available at Dalkeith probably compensated for this and by the end of the year, there was probably a net gain. By November 1982, ICL had 70 people working on the PERQ at Dalkeith and 26 involved on hardware developments at Kidsgrove. This is to be compared with about 9 at RAL.

The project received bad press throughout the year. SERC management was impatient at the non appearance of UNIX. Users were impatient to receive UNIX on their PERQ systems. Consequently, the staff involved received a great deal of adverse criticism. It is much to their credit that some are still working at RAL. None of the staff received the credit due to them. The two senior people on the project, Len Ford and Colin Prosser later left to continue UNIX systems careers elsewhere. Colin Prosser is involved in system development at ICL while Len Ford is the main UNIX systems expert at Pyramid. An interesting point is that Pyramid currently have the only dual System V - Berkeley 4.2 UNIX system on the market. Late in 1982, Pyramid were considering marketing Accent and SPICE as the basic operating system on the PYRAMID.

The decision not to go the HCR route was correct. Even though the company had done a UNIX port earlier, it was unable to get performance out of its PERQ product. The implementation was eventually dropped. If this approach had been taken, as was suggested by ICL management at one stage, the availability of UNIX on the PERQ would have been even further delayed.

The decision by ICL during the year to stop work on Microcode UNIX was another mistake. Clearly if work had continued, the slippage near the end of the year would not have been so great. However. due to the inertia in ICL's system, work never really stopped on the project and it was used in the development of facilities on top of UNIX such as the window manager. Consequently, slippage was not as great as might have been expected.

⇑ Top of page
© Chilton Computing and UKRI Science and Technology Facilities Council webmaster@chilton-computing.org.uk
Our thanks to UKRI Science and Technology Facilities Council for hosting this site