HOME

TheInfoList



OR:

GEORGE was the name given to a series of
operating system An operating system (OS) is system software that manages computer hardware, software resources, and provides common daemon (computing), services for computer programs. Time-sharing operating systems scheduler (computing), schedule tasks for ef ...
s released by
International Computers and Tabulators International Computers and Tabulators or ICT was a British computer manufacturer, formed in 1959 by a merger of the British Tabulating Machine Company (BTM) and Powers-Samas. In 1963 it acquired the business computer divisions of Ferranti. I ...
(ICT) in the 1960s, for the
ICT 1900 series ICT 1900 was a family of mainframe computers released by International Computers and Tabulators (ICT) and later International Computers Limited (ICL) during the 1960s and 1970s. The 1900 series was notable for being one of the few non-American c ...
of computers. These included GEORGE 1, GEORGE 2, GEORGE 3, and GEORGE 4. Initially the 1900 series machines, like the
Ferranti-Packard 6000 The FP-6000Ferranti Packard: Pioneers in Canadian Electrical Manufacturing Norman R Ball, John N Vardalas was a second-generation mainframe computer developed and built by Ferranti-Packard, the Canadian division of Ferranti, in the early 1960s. ...
on which they were based, ran a simple operating system known as
Executive Executive ( exe., exec., execu.) may refer to: Role or title * Executive, a senior management role in an organization ** Chief executive officer (CEO), one of the highest-ranking corporate officers (executives) or administrators ** Executive di ...
which allowed the system operator to load and run programs from a
Teletype Model 33 The Teletype Model 33 is an electromechanical teleprinter designed for light-duty office use. It is less rugged and cost less than earlier Teletype machines. The Teletype Corporation introduced the Model 33 as a commercial product in 1963 af ...
ASR based
system console One meaning of system console, computer console, root console, operator's console, or simply console is the text entry and display device for system administration messages, particularly those from the BIOS or boot loader, the kernel, from the ...
. In December 1964 ICT set up an Operating Systems Branch to develop a new operating system for the 1906/7. The branch was initially staffed with people being released by the end of work on the OMP operating system for the Ferranti Orion. The initial design of the new system, named George after George E. Felton head of the Basic Programming Division, was based on ideas from the Orion and the
spooling In computing, spooling is a specialized form of multi-programming for the purpose of copying data between different devices. In contemporary systems, it is usually used for mediating between a computer application and a slow peripheral, such a ...
system of the
Atlas An atlas is a collection of maps; it is typically a bundle of maps of Earth or of a region of Earth. Atlases have traditionally been bound into book form, but today many atlases are in multimedia formats. In addition to presenting geogra ...
computer. (In public it was claimed that George stood for GEneral ORGanisational Environment, but contemporary sources say that was a
backronym A backronym is an acronym formed from an already existing word by expanding its letters into the words of a phrase. Backronyms may be invented with either serious or humorous intent, or they may be a type of false etymology or folk etymology. The ...
). In July 1965 a team from ICT was present at a seminar at NPL describing the CTSS operating system developed for
MIT The Massachusetts Institute of Technology (MIT) is a private land-grant research university in Cambridge, Massachusetts. Established in 1861, MIT has played a key role in the development of modern technology and science, and is one of the m ...
's Project MAC. They decided that the ICT would need to provide multi-access facilities, known to ICT as MOP, "Multiple Online Processing". In November 1965 H. P. Goodman, head of the Operating Systems Branch attended the
Fall Joint Computer Conference The Joint Computer Conferences were a series of computer conferences in the United States held under various names between 1951 and 1987. The conferences were the venue for presentations and papers representing "cumulative work in the omputerfield ...
in Las Vegas where plans for
Multics Multics ("Multiplexed Information and Computing Service") is an influential early time-sharing operating system based on the concept of a single-level memory.Dennis M. Ritchie, "The Evolution of the Unix Time-sharing System", Communications of ...
were initially described. Some of the Multics features discussed influenced future development of George, notably the tree structured filestore. Towards the end of 1965 ICT marketing requested that a simpler operating system be made available quickly, especially for the smaller members of the range. It was decided that two smaller systems, known as George 1 and George 2 be released rapidly, and the larger operating system was renamed George 3.


GEORGE 1 & 2

George 1 was a simple
batch processing Computerized batch processing is a method of running software programs called jobs in batches automatically. While users are required to submit the jobs, no other interaction by the user is required to process the batch. Batches may automatically ...
system, ''Job descriptions'' were read from cards or paper tape which controlled the loading and running of programs, either loaded from cards or paper tape or magnetic tape. The
job control language Job Control Language (JCL) is a name for scripting languages used on IBM mainframe operating systems to instruct the system on how to run a batch job or start a subsystem. More specifically, the purpose of JCL is to say which programs to run, u ...
allowed definition of the peripherals and files to be used and handling of exception conditions. The job description would be checked for errors before the job was run. George used the ''trusted program'' facilities provided by executive to run the user programs. George 2 added the concept of ''off line'' peripheral handling (
spooling In computing, spooling is a specialized form of multi-programming for the purpose of copying data between different devices. In contemporary systems, it is usually used for mediating between a computer application and a slow peripheral, such a ...
). Several different modules, running in parallel, allowed overlapping of input, processing and output operations: *Jobs were read from cards or paper tape to temporary files on magnetic disk or tape by an input module. *A central module executed the user programs, taking input from the temporary input files and writing program output to temporary files. *An output module wrote the temporary output files to physical printers and punches. *A module was also available for entering jobs from remote job entry stations, the output of the job could be printed on the remote printer. If the installation was large enough multiple copies of the central module could be run, allowing multiple jobs to be processed in parallel. The George 2 job control language allowed use of stored ''macros'' with conditional facilities. George 2 provided no file system, the system and user programs relied on the facilities provided by ''executive''. Files on disk were accessed by unique 12 character names and no security other than a "do not erase" bit was provided. MINIMOP could be run simultaneously with GEORGE 2 on the same machine, to provide on-line time-sharing facilities.


GEORGE 3 & 4

GEORGE 3 was the main version of the operating system series for the larger machines of the 1900 series. Initially it was released for the 1906/7; eventually it was made available for models down to the 1902T. In contrast to George 1 & 2 which ran as user-mode programs under executive, George 3 was a full operating system, leaving only low-level peripheral and interrupt handling to a cut-down version of executive. George 3 was implemented as a small memory-resident part and a collection of ''chapters'' ( overlays) which were loaded into and removed from memory as needed. Chapters were strictly location-independent, allowing best use of memory. Internally George used
cooperative multitasking Cooperative multitasking, also known as non-preemptive multitasking, is a style of computer multitasking in which the operating system never initiates a context switch from a running process to another process. Instead, in order to run multiple ...
;
context switch In computing, a context switch is the process of storing the state of a process or thread, so that it can be restored and resume execution at a later point, and then restoring a different, previously saved, state. This allows multiple processe ...
es could take place at any ''chapter change'' (call from one chapter to another), or at other specified places in the code. User-level code was run using
preemptive multitasking In computing, preemption is the act of temporarily interrupting an executing task, with the intention of resuming it at a later time. This interrupt is done by an external scheduler with no assistance or cooperation from the task. This preemp ...
; context switches were forced on I/O operations or clock ticks. George was written in a special assembler, ''GIN'' (George INput), which had richer conditional compilation and macro facilities than the standard PLAN assembler. Macros were heavily used by the code to reduce the effort of programming such a large system in assembly language. In later versions the macro features of GIN were used to add
structured programming Structured programming is a programming paradigm aimed at improving the clarity, quality, and development time of a computer program by making extensive use of the structured control flow constructs of selection ( if/then/else) and repetition ( ...
features to the code. Writing the system was estimated to have taken 75 programmer-years of effort.


Job control

George 3 was a mixed batch and online system. Jobs could be run from cards or tape in the same manner as George 2, or interactively from ''MOP'' (Multiple Online Processing) terminals, either simple
Teletype A teleprinter (teletypewriter, teletype or TTY) is an electromechanical device that can be used to send and receive typed messages through various communications channels, in both point-to-point and point-to-multipoint configurations. Init ...
Model 33 ASR terminals or block mode ''VDU'' terminals. The
job control language Job Control Language (JCL) is a name for scripting languages used on IBM mainframe operating systems to instruct the system on how to run a batch job or start a subsystem. More specifically, the purpose of JCL is to say which programs to run, u ...
was the same on terminals or in batch jobs and included conditional operations and macro operations. In contrast to
Unix Unix (; trademarked as UNIX) is a family of multitasking, multiuser computer operating systems that derive from the original AT&T Unix, whose development started in 1969 at the Bell Labs research center by Ken Thompson, Dennis Ritchie, ...
systems the job control language was part of the operating system rather than being a user level
shell Shell may refer to: Architecture and design * Shell (structure), a thin structure ** Concrete shell, a thin shell of concrete, usually with no interior columns or exterior buttresses ** Thin-shell structure Science Biology * Seashell, a hard o ...
process. A job could only have one program loaded in to memory at a time, but one job could start other jobs to run concurrently, if system resources and site policy would permit. The system would swap user programs out of memory while they were waiting for input or output if other activities required memory to run.


Filestore

George 3 provided a tree structured Filestore, inspired in part by
Multics Multics ("Multiplexed Information and Computing Service") is an influential early time-sharing operating system based on the concept of a single-level memory.Dennis M. Ritchie, "The Evolution of the Unix Time-sharing System", Communications of ...
. Every user of the system had a home directory with as many sub directories as needed under it. A users home directory could be accessed directly, for example the directory for user ''JOHN'' could be referred to as '':JOHN'', or by a full path, for example if ''JOHN'' was in the computer science department his home directory might be '':MANAGER.USERS.COMPSCI.JOHN''.
Access control list In computer security, an access-control list (ACL) is a list of permissions associated with a system resource (object). An ACL specifies which users or system processes are granted access to objects, as well as what operations are allowed on gi ...
s were used for security, a user could permit or deny any user or group of users access to his files or directories. File data storage was two-level: files could be either currently on disk, or, if the system was low on disk space they could be automatically relegated to magnetic tape. If an attempt was made to access a currently off line file the job would be suspended and the operators requested to load the appropriate tape. When the tape was made available the file would be brought back to disk and the job resumed. The underlying disc storage mechanism George 3, in 1968, was probably the earliest commercial version of a
Copy-On-Write Copy-on-write (COW), sometimes referred to as implicit sharing or shadowing, is a resource-management technique used in computer programming to efficiently implement a "duplicate" or "copy" operation on modifiable resources. If a resource is dupl ...
file system. The way this worked was that all modified blocks would be written to blocks on a "free" list. Blocks containing metadata were also treated in the same way but were, together with data blocks, physically written in an order in such a way that, when the final "master" block had been written, the file was committed. If the machine failed at any point, it was guaranteed by the hardware that the file would be in either its original, unmodified, form or fully up to date. Another useful feature was that the Filestore could emulate all the standard peripherals, such as card readers and punches, magnetic tapes and discs. This allowed older George 1 & 2 programs that required these physical devices, to be run under George 3 without modification. This could speed up jobs that required many tape or disc changes on George 1 & 2 to be automated to the extent - that something that required two operators; several 10s of tapes changes and five hours - now required no operators, further than mounting two work tapes for the results, and finished in 45 minutes.


George 4

Starting with the 1904A, a
paging In computer operating systems, memory paging is a memory management scheme by which a computer stores and retrieves data from secondary storage for use in main memory. In this scheme, the operating system retrieves data from secondary storage ...
unit was available for larger 1900 processors and George 4 was written to take advantage of it. George 4 remained compatible with George 3. It was common to alternate George 3 and 4 on the same machine and filestore, running George 3 during the day for small, interactive workloads and George 4 at night for large, memory intensive, jobs. George 4 introduced the concept of a ''sparse'' program, a program that had an addressing space larger than its allocated memory and read-only (''pure'') data and code regions. New versions of the ''consolidator'' (linker) and compilers were provided to use these facilities. The source code of George 3 and 4 were the same;
conditional compilation In computer programming, conditional compilation is a compilation technique which results in an executable program that is able to be altered by changing specified parameters. This technique is commonly used when these alterations to the program ...
facilities of the GIN assembler were used to select which version of the system was being compiled. As the 1900 paging feature was not emulated by the 2900 series machines used by later George installations, George 4 fell out of use before George 3.


Source code

George was distributed in a form that allowed a site to modify large parts of the system. A compilation of the system was started, then interrupted just before the end and dumped to magnetic tape. The GIN compiler allowed the compilation to be continued from this point at the user site, possibly modifying code already compiled. Versions of George 3 before release 8 were provided in binary form. Any modifications needed to the system were made as binary patches. To simplify the process most George chapters included an empty ''MEND'' area at the end. Starting with release 8 the source of George was distributed with the binary, both on magnetic tape and microfiche. A system of source level patches, known as ''MENDITS'' was used to modify the system and an existing chapter could be completely replaced by the new modified chapter. The George user group set up a "MEND exchange scheme" to share interesting modifications to George. Some modifications were distributed freely, others were available for a fee. When ICL produced a new version of George they would sometimes include modifications produced by the users. For the last released version, 8.67, most of the patches from the MEND exchange scheme were included in the standard George source, switched off by
conditional compilation In computer programming, conditional compilation is a compilation technique which results in an executable program that is able to be altered by changing specified parameters. This technique is commonly used when these alterations to the program ...
. They can be turned on as part of the standard process of tailoring George for a site.


Documentation

GEOrge was well documented internally in a series of looseleaf folders, distributed as an initial version plus amendments. Eventually all the original pages were replaced, so any new copy of the manuals consisted of a box of empty looseleaf folders and a pile of amendments. The first amendment was a list of contributors, and the technical reason for the amendment was described as "to keep everyone happy".


Modified Versions

A modified version of George 3 was supplied to the University of Manchester Regional Computer Centre (UMRCC). This linked George 3 to a
CDC Cyber The CDC Cyber range of mainframe-class supercomputers were the primary products of Control Data Corporation (CDC) during the 1970s and 1980s. In their day, they were the computer architecture of choice for scientific and mathematically intensi ...
machine, to which George supplied the offline I/O and Job queueing functions. Online support was supplied by both ICL and Cyber for both hardware and software. The Cyber support team worked in an office with the name "
Cybermen The Cybermen are a fictional race of cyborgs principally portrayed in the British science fiction television programme ''Doctor Who''. The Cybermen are a species of space-faring cyborgs who often forcefully and painfully convert human beings ( ...
" on the door.


End of life


Obsolescence

With the release of ICL's "new range", the 2900 series with its VME operating system, George became obsolete. However, due to the legacy of investment in software for George, ICL released options to run 1900 series software, including George, on 2900 series machines, initially the
Direct Machine Environment Direct may refer to: Mathematics * Directed set, in order theory * Direct limit of (pre), sheaves * Direct sum of modules, a construction in abstract algebra which combines several vector spaces Computing * Direct access (disambiguation), a ...
(DME), later the Concurrent Machine Environment (CME) which allowed simultaneous running of 1900 and 2900 code on the same system. New versions of George 3 continued to be released for the 2900. The last version was 8.67, released in 1983. As of 2005 at least one site in
Russia Russia (, , ), or the Russian Federation, is a transcontinental country spanning Eastern Europe and Northern Asia. It is the largest country in the world, with its internationally recognised territory covering , and encompassing one-ei ...
was still running George 3 under DME. In November 2014 George 3 was run on a reconditioned ICL 2966 at the National Museum of Computing.


Emulation

David Holdsworth and Delwyn Holroyd obtained copies of George 3 issue tapes when the last live site in the UK, at
British Steel Corporation British may refer to: Peoples, culture, and language * British people, nationals or natives of the United Kingdom, British Overseas Territories, and Crown Dependencies. ** Britishness, the British identity and common culture * British English, ...
, was being decommissioned and wrote an
emulator In computing, an emulator is hardware or software that enables one computer system (called the ''host'') to behave like another computer system (called the ''guest''). An emulator typically enables the host system to run software or use pe ...
for the 1900 hardware and executive that allows running of George on
Microsoft Windows Windows is a group of several proprietary graphical operating system families developed and marketed by Microsoft. Each family caters to a certain sector of the computing industry. For example, Windows NT for consumers, Windows Server for ...
and
Linux Linux ( or ) is a family of open-source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991, by Linus Torvalds. Linux is typically packaged as a Linux distribution, whi ...
as part of a project for the
Computer Conservation Society The Computer Conservation Society (CCS) is a British organisation, founded in 1989. It is under the joint umbrella of the British Computer Society (BCS), the London Science Museum and the Manchester Museum of Science and Industry. Overview The ...
.George3
running on
Raspberry Pi Raspberry Pi () is a series of small single-board computers (SBCs) developed in the United Kingdom by the Raspberry Pi Foundation in association with Broadcom. The Raspberry Pi project originally leaned towards the promotion of teaching basic ...


References


Further reading

* {{Operating system ICL operating systems Multics-like Discontinued operating systems