ICT 1900 Operating
Systems
Notes by George Felton for
the Seminar in the
The successful George
systems were based on original ideas developed between 1959 and 1964 for the
Ferranti Orion computer. I shall have to outline these to start with.
Thinking about the Orion
system started late in 1958. From Jan 1959 intensive work in Ferranti on new
computers led to Atlas and Orion. Development of the operating system (OMP) took
place in parallel with that of the hardware (which was heavily oriented to
users, ie programmers and operators). In March 1959; a presentation of both
machines was made to Harwell. At this time much effort was still going into
Pegasus and Mercury. Meeting 7May to specify floating point
for Orion.
We designed simple but
effective features in the Orion hardware to allow simultaneous running of
independently written programs – we called this Time-Sharing but it would
nowadays be called pre-emptive multi-tasking, with limited
multi-threading. There were privileged instructions to allow efficient time
sharing or multi-programming. There were hardware datum and limit
registers to prevent any program from accessing any part of the core outside its
own entitlement – this prevented accidental interference between jobs and was
considered vital for sanitary time sharing (paging was introduced later
and provided a different but equally effective way to prevent interference
between jobs). There were also arrangements for a program to access only its own
peripherals, referring to them by its own private set of addresses. Each program
had its own set of registers (accumulators, modifier registers, etc). All these
features seemed obvious at the time and they were cheap to include in the
hardware. OMP didn't include any multi-access features – the idea was invented
later at MIT as Project MAC.
On
In June 1962 we started
shift work developing OMP and Nebula on the Orion prototype in West Gorton.
We started running time-shared programs on the prototype Orion by May
1963, when the first (Turitz) Orion started
acceptance tests. ICT bought the Ferranti Computer Dept, and we moved to Putney.
In September 1964 the 1900-series was launched.
In about Dec 64
(?) Peter Hunt was made
responsible for software development in ICT and a request was received from
Chris Wilson (responsible for selling the 1906/7) for an operating system on the
lines of OMP for the 1906/7. On
People often ask about the
origin of the name George. I'm told that in May 1965 while I was abroad a
meeting was held in my office to analyse ways of interfacing the Executive to
the Operating System – starting with version 'A' and ending with version
'G'. This last was thought to be the best arrangement, someone suggested it ought to be called
George (Autopilot on aircraft, General Organizational Environment, and
Just for a laugh). On
Early on we designed and
wrote the George Input Assembler GIN (having found that the usual 1900 assembly
language (PLAN) was unsuitable) – this was mostly done by Dan Oestreicher and Jeff Strauss. This proved an ideal input
scheme for an operating system; it included facilities for conditional assembly
of blocks of source code, and programmer-defined macros. This allowed various
versions of George 3 and George 4, with or without temporary diagnostic
additions, to be assembled from the same source code. George 4 was the version
for paged systems, released late 1974.
Operating systems for
medium-size 1900s (32K up) were requested a few months after the initial request
in December 1963 (for the 1906/7). We decided to rename George as George 3 and
to insert two smaller systems, George 1 and George 2. George 1 allowed complete
pre-planning of a single stream of work. Each job was specified as a formal
sequence of instructions, which were carried out in turn by George 1. Operator
action was reduced in principle to loading and unloading the peripherals. (The
first version went to Product Test Jul 1966, released Oct 1966 - the first 1900
Operating System. Mk3 in use Dec
1966.)
For medium-sized 1900s (32K
up). This was George 1 plus
off-lining features to separate input, computation and output. This provided
more efficient batch processing since input/output speeds did not limit
processing. Two copies of George 2 can run simultaneously in systems with 48K
core. (Draft Spec Feb66. Released George 2T (magnetic
tape) November 1967; first deliveries of George 2D (disks) June 1968 - can run
on 50% of 1900 systems, 10-12K core.)
A multi-access system
enabling up to nine users to communicate with a 1900 processor in a time-sharing
mode through remote typewriter consoles. Occupies 6K
core. Provides access to FORTRAN, Algol and also JEAN –
a conversational system allowing non-specialists to make simple calculations
using remote terminals as if they were desk calculators. (Available July
1968)
Concurrent use of George 2
and Minimop was available on larger machines pending release of George 3. An
on-line service was set up in
This could be described as a
comprehensive operating system combining batch processing and multi-access (MOP)
facilities. Initially George covered only batch work, MOP being a separate
system, but these were combined quite soon, with the same command language for
both, to their mutual advantage (see 'On unifying a batch system with a
multi-access system' by H P Goodman in APIC Studies in Data Processing No.9 Operating System Techniques, Academic
Press 1972 (ISBN 0-12-350650-6). Batch processing handles many job streams and
schedules these automatically. Facilities are provided for permanent file
storage of many types of file for the system itself and for users, with
protection and an elaborate method of incremental back-up. Users don't need to
concern themselves with where their files are currently stored.
Multi-access facilities are
provided through typewriter consoles – later enhancements provided for other
types of console, including visual displays, and coupled card reader and line
printer clusters. Large numbers of multi-access users are allowed. George 3 also
handles multiple processor configurations.
The prototype George 3
system was assembled in January 1966. We had a great many difficulties in
developing the system, the biggest was that we had
developed a sophisticated system which had to run on a small machine: the 1904/5
with 32K core. It suited the larger 1900s well (eg 1906A). There were many
practical problems to cope with – initially the hardware was unreliable and
insufficient (only a single prototype at first), and we didn't get access to a
1907 in Putney until August 1967.
George 3 Mark 1 was released
in April 1969. Subsequent releases were about six months apart, until Mk5 in
April 1971. Mk6 was in October 1971. Mk7 at the end of
1972. The project was moved to
The system is still in use
on DME hardware, and I am glad to be able to announce that we believe that
recent scare stories-about the date at the end of 1999 will not bother George 3
– we think however that there may be problems after the year 2047.
George Felton
29 May 1996
Pers\Seminar\Summary