GEORGE (operating System) - GEORGE 3 & 4

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, context switches 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, 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 features to the code. Writing the system was estimated to have taken 75 programmer-years of effort.

Read more about this topic:  GEORGE (operating System)