In 1963, the computing parts of Ferranti were merged into International Computers and Tabulators, which would later merge with English Electric Computers (EEC) to form International Computers Limited (ICL). As a result of this merger, ICT had a large number of incompatible computer lines. This was not unusual at the time. Computers were very expensive and could only run very simple software and so rewriting all of a company’s legacy software when upgrading was a very small proportion of the total cost of the upgrade.
There were two major disadvantages with this disparate collection of machines. The first was logistical, in that it meant that they could not easily save costs by reusing parts of their designs across different products. The second was commercial. In 1964, IBM announced that they were consolidating their entire mainframe line into the System/360 architecture, which would provide a common architecture across the whole range and allow easy migration between machines.
The newly-formed ICT aimed to compete with System/360 by means of a derivative of the Ferranti Packard 6000 system sold by their Ferranti Canada. The ICT 1902 and ICT 1904 from this series were demonstrated at the Business Efficiency Exhibition at Olympia in October 1964. When ICT and EEC merged in 1968, this line was rebranded as the ICL 1900 series. Although superseded in 1974 by the 2900 ‘new range’, many of the machines would continue to operate into the ’80s.
An ICL 1904 in use at Swansea University.
The ICL 1900 series had a lot in common with modern computers. One of the most notable differences from earlier machines was that included something recognisable as a modern operating system. The EXECutive was a privileged program which would run when the program started. It could then load jobs and run them.
The line allowed much more complicated operating systems to be run. The most advanced was GEORGE 3. This allowed programs to be run in both a batch and a multitasking mode called multiple online programming (MOP). This mode allowed multiple programs to be running at once, with access to physical devices controlled by pools - a program would request access to a teletype (for example) and one would be allocated to it from a pool, and then returned to the pool afterwards.
Several features were of note in the GEORGE series. The most interesting is the file store. This allowed for persistent storage in a location-independent manner. A job would request a file without needing to know whether it was stored on a tape or disk. Files stored on the disk would periodically be written to tales (one tape per file) by the dumper program. If they were not modified, they could then be deleted to free up space on the disk. If they were later accessed then the operator would be prompted to insert the tape. A similar feature was made available for commodity PCs in the early ’90s by Chili Pepper Software under the Infinite Disk brand, using floppy disks instead of tapes for the backup medium.
The 1900 was a relatively modern architecture, with eight general purpose registers. These were initialised from the first eight words in a program when it launched. Each register stored one machine word - 24 bits. As well as the common integer formats, and a six-bit character format (allowing four characters to be stored in a word), the architecture also supported signed binary fractions and fixed-precision values.
In order to support safe multi-user modes, the system had a special trusted mode, corresponding to a privileged mode on a modern system. The EXECutive started in this mode and would then optionally run one or more other privileged programs such as GEORGE. Other programs ran in an untrusted mode, which prevented them from using resources assigned to other programs.