GEORGE (operating system) facts for kids
Company / developer | International Computers and Tabulators |
---|---|
Programmed in | Assembly language |
Working state | Historic |
Source model | Source available to licensees. |
Initial release | 1960s |
Latest stable release | 8,67 / 1985 |
Available language(s) | English |
Supported platforms | ICT 1900 series of computers |
Kernel type | Monolithic |
Influenced by | Multics |
Default user interface | CLI (teletype or block mode terminal) |
License | Proprietary commercial software |
GEORGE was a series of operating systems made by a company called International Computers and Tabulators (ICT) in the 1960s. These systems were designed for the ICT 1900 series of computers. The GEORGE family included different versions: GEORGE 1, GEORGE 2, GEORGE 3, and GEORGE 4.
An operating system is the main program that manages all the computer's hardware and software. It helps you run other programs and use the computer. Before GEORGE, these computers used a simpler system called Executive. It let a person load and run programs using a special typewriter-like machine called a Teletype.
In 1964, ICT decided to create a new, more advanced operating system. They named it "George" after George E. Felton, who led their programming division. Some people later joked that GEORGE stood for "GEneral ORGanisational Environment," but that was just a fun way to remember it.
ICT also learned from other advanced computer systems of the time. They looked at ideas from the Atlas computer and the CTSS system from MIT. These ideas helped them plan for features like "time-sharing," which lets many users use the computer at the same time. They also got ideas from a system called Multics, especially for how to organize files.
Because they needed a simpler system quickly, ICT decided to release two smaller versions first. These were GEORGE 1 and GEORGE 2. The bigger, more advanced system they were planning became GEORGE 3.
Early Versions: GEORGE 1 & 2
GEORGE 1 and 2 were the first versions of the operating system. They were designed for different ways of using computers.
GEORGE 1: Simple Batch Processing
GEORGE 1 was a simple system for batch processing. Imagine you have a list of tasks for the computer to do. With batch processing, you give the computer all the instructions at once, and it runs them one after another without you needing to do anything in between.
Instructions for the computer, called job descriptions, were read from special cards or paper tape. These instructions told the computer which programs to load and run. They also explained which devices and files the programs should use. GEORGE 1 would check these instructions for errors before starting the job.
GEORGE 2: Adding Spooling
GEORGE 2 improved on GEORGE 1 by adding something called spooling. Spooling helps the computer work faster. It means that input (like reading data) and output (like printing results) can happen at the same time as the main program is running.
Here's how it worked:
- An input part would read jobs from cards or paper tape and save them temporarily on magnetic disks or tapes.
- A central part would run the user programs. It would get its input from those temporary files and save its results to other temporary files.
- An output part would then send these temporary result files to physical printers or other output devices.
- There was also a part that allowed jobs to be sent from remote locations. The results could even be printed back at those remote spots.
If a computer system was big enough, it could run several central parts at once. This meant it could process multiple jobs at the same time, making it much more efficient. GEORGE 2 also allowed users to create stored instructions called macros to make tasks easier.
However, GEORGE 2 didn't have its own way to organize files. It relied on the older Executive system for that. Files on disk were simply given unique names, and there wasn't much security beyond a "do not erase" setting.
Interestingly, another system called MINIMOP could run at the same time as GEORGE 2. This allowed people to use the computer interactively, sharing its time, even though GEORGE 2 was mainly for batch jobs.
Advanced Systems: GEORGE 3 & 4
GEORGE 3 and 4 were the more powerful versions of the operating system. They were designed for larger and more complex computer systems.
GEORGE 3: A Full Operating System
GEORGE 3 was the main version for the bigger computers in the 1900 series. Unlike GEORGE 1 and 2, which ran under the Executive system, GEORGE 3 was a full operating system on its own. The Executive system was only used for very basic tasks like handling devices and interruptions.
GEORGE 3 was built in a clever way. It had a small main part that stayed in the computer's memory. Other parts, called chapters, were loaded into memory only when needed and then removed. This helped the system use memory efficiently. GEORGE 3 could also handle many tasks at once, switching between them very quickly.
The system was written in a special programming language called GIN. This language made it easier to write such a large and complex system. It took a lot of effort to create GEORGE 3, estimated to be about 75 programmer-years of work!
Job Control and Multitasking
GEORGE 3 could handle both batch jobs (like GEORGE 1 and 2) and online jobs. Online jobs meant users could interact with the computer directly from terminals. These terminals could be simple Teletype machines or more advanced screen-based terminals.
The instructions for jobs were the same whether you typed them at a terminal or put them on cards. You could even use special commands to make complex tasks simpler. Unlike some modern systems, these job instructions were built right into the operating system itself.
A job could only run one main program in memory at a time. However, one job could start other jobs to run at the same time, if the computer had enough resources. If a program was waiting for input or output, the system could temporarily move it out of memory to let other programs run.
Filestore: Organizing Files
GEORGE 3 had a special way of organizing files called a tree-structured Filestore. This was similar to how files are organized on computers today, with folders inside folders.
Every user had their own main folder, and they could create as many subfolders as they needed. For example, a user named JOHN might have a main folder like :JOHN. Or, if JOHN was in the computer science department, his folder might be `:MANAGER.USERS.COMPSCI.JOHN`.
To keep files secure, GEORGE 3 used access control lists. This meant a user could choose exactly who could see or change their files and folders.
The system also managed file storage very smartly. Files could be on a fast disk drive, but if the disk got full, they could be automatically moved to slower magnetic tapes. If someone then tried to use a file that was on tape, the system would pause the job and ask the computer operator to load the correct tape. Once the tape was loaded, the file would be moved back to disk, and the job would continue.
Another cool feature was that the Filestore could pretend to be older computer devices. This meant that old programs written for GEORGE 1 and 2, which expected to use physical card readers or tape drives, could run perfectly on GEORGE 3 without any changes. This saved a lot of time and effort!
GEORGE 4: Using Paging
GEORGE 4 was an upgrade to GEORGE 3. It was made to take advantage of a new feature in some 1900 series computers called a paging unit. Paging allowed programs to use more memory than was physically available at one time.
GEORGE 4 was still compatible with GEORGE 3. In fact, some computer centers would switch between them. They might run GEORGE 3 during the day for smaller, interactive tasks and GEORGE 4 at night for very large jobs that needed a lot of memory.
GEORGE 4 introduced the idea of a sparse program. This meant a program could be designed to use a very large amount of memory, even if it didn't all fit at once. The source code for GEORGE 3 and 4 was actually the same. Special settings were used during the compilation process to decide which version to build.
Because later computers (like the ICL 2900 series) didn't always support the 1900's paging feature, GEORGE 4 eventually became less common than GEORGE 3.
How GEORGE Was Updated
ICT distributed GEORGE in a way that allowed computer sites to make their own changes. They would provide the system almost completely compiled, and users could finish the compilation, adding their own modifications.
For later versions, starting with release 8, the actual source code (the human-readable programming instructions) was given to users. This made it much easier for sites to customize the system. Users could even share their own useful modifications with each other. Sometimes, ICT would even include these user-made changes in new official versions of GEORGE.
Documentation
GEORGE came with a lot of documentation, which was kept in looseleaf folders. These manuals were updated frequently. It was said that eventually, all the original pages were replaced, so a new set of manuals would just be empty folders and a pile of updates!
Special Versions
A special version of GEORGE 3 was made for the University of Manchester. This version connected GEORGE 3 to a powerful CDC Cyber computer. GEORGE 3 handled the input and output tasks, while the Cyber machine did the heavy computing. The support team for the Cyber machine even had an office with "Cybermen" written on the door!
The End of GEORGE
As newer computers like the ICL 2900 series came out with their own operating systems (like VME), GEORGE slowly became outdated. However, many companies had invested a lot in software that ran on GEORGE. So, ICT created ways for the 1900 series software, including GEORGE, to run on the newer 2900 series machines. This allowed old and new programs to run on the same system.
New versions of GEORGE 3 continued to be released for the 2900 series, with the last one coming out in 1983. Even as late as 2005, there was at least one place in Russia still using GEORGE 3! In 2014, GEORGE 3 was even run on a restored ICL 2966 computer at the National Museum of Computing.
Bringing GEORGE Back: Emulation
Today, some people have worked to preserve GEORGE. Experts like David Holdsworth and Delwyn Holroyd got copies of the GEORGE 3 system tapes when the last live site in the UK closed down. They then created an emulator. An emulator is a program that lets one computer act like another. This emulator allows GEORGE to run on modern computers like those using Microsoft Windows or Linux. This project helps the Computer Conservation Society keep old computer systems alive for study and learning.