English Electric KDF8 - Software

Software

There was essentially NO operating system. Programs were initiated by an on-line operator, via an operator’s console (see later). Operators were also responsible for manually clearing memory and re-setting the computer between programs, mounting and changing tapes, controlling off-line printing and the like.

Some standard software packages were available, or became available, all written in the USA by the RCA organisation. These included the following.

An excellent parameter-driven sort-merge program, capable of handling very large volumes of data. Sort parameters could either be read in from the paper-tape reader, for one-off sorts, or “compiled” in (really just stored in the program). There were extensive user “hooks” where user-supplied code could be put in at various stages of the sort/merge process. (More or less as an experiment, one commercial suite of programs written at Kidsgrove was done entirely as own-code additions to the sort program, rather than the typical vet/sort/update/sort/update/print program sequence.) The sort was exceptionally well-written, fast and reliable, with optional restart check-points built in. However, a very high level of operator skill was required should the volume of data to be sorted exceed the combined capacity of all the tape-decks available, since numerous tape changes were then required.

An assembler-language compiler, again written in the States, called EZ-Code. (which was in ignorance initially called ease-code, by the English, until it was realized the American pronunciation was easy-code!). This was not used commercially for some time, since compilation time was then seen as a heavy overhead, but became increasingly used in later years. To save on computer time, typically a programmer would do an initial compile, dry-check the program manually, re-compile, and then test and de-bug the compiled machine-code version of the program, building up a reel of paper-tape machine-code patches to the program as each correction was made. Once a fairly robust copy was available, the changes would be replicated (hopefully accurately!) in Assembler and the program re-compiled and re-tested. Frequently, the last stage was never quite completed, and it was not unknown for production programs to require machine code-patches to be loaded from paper tape for each run. Also, a number of major commercial packages for payroll, accounts and share registration were written by Bureau staff before the Assembler compiler was accepted, and remained entirely in machine code. A further quirk was that the I/O generation routines of the assembler were not used by one programming section, who had written their own generalized I/O package, called Tape Control, based on the COBOL file description table formats, and automating many of the error-prone programming of batching/unbatching of records and controls of simultaneous read/write operations and end-of-file xonditions. Naturally, Tape Control was written in Assembler……..

A COBOL compiler. This was very rarely used, early experiences not having been entirely favourable. (Including the attempted compilation of a small program of only about 200 lines of code, which ran for over an hour, then failed with an error message indicating that there were insufficient tape units on the computer to finish the compilation.) One notable exception was a wiring design program called "WRS1", used to help design the hardware for the later English Electric KDF9 and System 4 range of Mainframe computers. Another oddity was a decision table pre-processor for COBOL programs, itself written in COBOL. This was of some interest, since bureau programming staff were at the time experimenting with using decision tables as an alternative to flowcharts. However, while these programmers continued to hand-code in assembler from the hand-written decision tables with some success, the compilation overheads prevented the use of the pre-processor.

To optimize throughput of production programs, standard packages of software were produced by bureau programmers for payroll, sales and purchase ledgers, share registration, stock control and the like, and some applications – notably payroll – supported the processing of data from many bureau customers in one computer run, with individual parameter settings managing individual customer’s requirements. More complex client requirements were met by custom-built programs.

Read more about this topic:  English Electric KDF8