(By Brian Millis – November 2003)
Executive was fundamental to the 1900 range concept. Together with the hardware, Executive provided the run time environment to applications and other software. It managed short-term time sharing between programs and peripherals and between programs on multiprogramming systems. It carried out peripheral transfers for programs, hiding hardware details and managing the real time interruptions. It controlled program use of store, inter-program protection and the switching between programs. On the early small systems Executive even provided by software some of the more complex instructions such as multiplication and division.
Executive was not one program. Many widely different designs were created over the life of the 1900 series, ranging from that enabling a single user program to be controlled by handswitches on a small 1901 to the later large multiprogramming overlaid Executives. Further, to minimise its use of core store, the specific Executive for a particular machine was tailored to that specific configuration.
The range interface was defined as that provided by hardware and Executive together. This enabled program portability across the range to an extent unique at the time – and in some respects not even achieved today. The same program would run unchanged on any machine and under any 1900 operating system – from the smallest machine running under Executive alone to the largest running under the powerful George 3 or George 4 operating systems. (This contrasted with the IBM 360 series where the interface was defined at the hardware level and some program changes could be required when moving from one regime to another.) The use of the “extracode” technique was a key factor: instructions such as those used to drive peripherals would appear to a user program as part of the order code but in fact be carried out by software in Executive.
Executive was managed as part of the hardware, the development teams reporting to the hardware management and support being provided by Customer Engineering Services. The position of the range interface and the development teams being together enabled different mixes of hardware and software to be created, as appropriate to the specific system requirement.
Compatibility of this interface was absolute for a program moving to a system up the range, or when moving forward in time to a later machine or to a later version of Executive. Downward compatibility was also strict for a program not using facilities only available higher up in the range. Moreover null responses were normally provided for a such facility when not present- so enabling that to be detected and alternative action taken. Strict compatibility carried through to the later DME systems, which enabled 1900 software to be run on 2900 machines.
The interface definition was controlled by a Compatibility Committee which was formed in 1964 spontaneously between the active parties. There was more willingness to compromise between designers than is often the case – in part because the original architecture was imported from outside so no-one's sacred cow! This committee also controlled file formats for magnetic media.
Complex job management on 1900 systems was provided by the George operating systems which ran on top of Executive. However Executive provided basic features for loading and starting programs and so a 1900 machine could be used without any George system. This enabled a small machine without any disc or drum (backing store) to be run without the overhead of a George. It was also invaluable early on in enabling systems to be delivered before development of the George systems was complete.
George 1 and 2 used the normal user interface to Executive. (Later, on small disc systems George 1 facilities were eventually merged into an Executive variant known as George 1S.) George 3 and 4 systems were much more complex. Here Executive was a smaller core, insulating George and other programs from the hardware. A special interface existed between George and Executive and the two worked together to provide the full range interface to the programs above.