General Comprehensive Operating System
The original version of GCOS was developed by General Electric from 1962; originally called GECOS (the General Electric Comprehensive Operating Supervisor). The operating system is still used today in its most recent versions (GCOS 7 and GCOS 8) on servers and mainframes produced by Honeywell (GCOS 8) and Groupe Bull (GCOS 7), primarily through emulation, to provide continuity with legacy mainframe environments. Note that GCOS 7 and GCOS 8 are separate branches of the operating system and continue to be developed alongside each other.
System architecture and concepts
GCOS is a multithreading, multiprogramming operating system originally oriented towards batch processing, although later versions incorporated enhancements for timesharing and online transaction processing environments. Systems running GCOS today use it mainly for batch and OLTP, or as a backend enterprise server.
Although GCOS has a basic architecture similar to that of the IBM 360 and earlier IBM 7090 Series, which was abandoned by IBM for the 360, and subsequent operating systems with which it competed, it was also heavily influenced by projects such as MEDINET, Multics, and WWMCCS, and has inherited a strong security structure in consequence. Hardware and software features combine to render the operating system unusually secure for an operating system of its generation and class. Multics influenced the design of the hardware, with gate-oriented secure transfer-of-control instructions and a hardware-enforced system of security levels very similar to that of the famous Multics rings. Operational environments such as WWMCCS drove development of special security features to allow secure hosting of classified information and compartmentalization. For a time separate versions of the GCOS system with special security features turned on were maintained specifically for government customers.
GCOS is a process-oriented OS, in which each process hosts one or more execution threads and executes in its own virtual memory space. Virtual memory is divided into segments of arbitrary size reminiscent of Multics segments, and a second level of address translation converts pure virtual addresses to pageable addresses, which are then converted to real addresses in main memory or backing store. Segments and pages and other constructs include hardware-enforced security parameters. The top-level virtual memory architecture also simplifies sharing of code and data in a secure fashion, again in a way reminiscent of Multics.
GCOS requires specific hardware designed for the operating system, although the most recent machines capable of running the OS do so through emulation. The hardware originally had much in common with Multics hardware, so much so that some mainframe equipment could be switched from "GCOS mode" to "Multics mode" with the turn of a dial. Much of the peripheral equipment used with GCOS shared a great deal with Multics, although front-end network processors were very different between the two systems.
The GECOS-II operating system was developed by General Electric for the 36-bit GE-635 in 1962-1964. It bore a close resemblance architecturally to the IBM 7094 and less than the IBM DOS/360. However, the GE-635 architecture was very different from the IBM System/360 and GECOS was more ambitious than DOS/360. GECOS-II supported both time-sharing (TSS) and batch processing, with dynamic allocation of memory (IBM had fixed partitions, at that time), making it a true second-generation operating system.
After Honeywell acquired GE's computer division, GECOS-III was renamed GCOS 3, and the hardware line was renamed to the H-6000 adding the EIS (enhanced instruction set, character oriented instead of word oriented). Later Honeywell Marketing created a "Series" 60, and renamed the H-6000 to the Level 66 (later on, DPS 8). Honeywell, along with its European affiliate CII-Honeywell Bull, launched a new 32-bit product line called Level 64 (which later became the DPS 7).
The name "GCOS" was extended to the operating systems for all Honeywell-marketed product lines. GCOS-64, a completely different 32-bit operating system for the Level 64 series, significantly inspired by a parallel development called "Multics", was designed by Honeywell and Honeywell Bull developers in France and Boston. GCOS-62, the operating system for another 32-bit low-end line of machines, the Level 62 series, was designed in Italy. GCOS-61 was the operating system for a new version of a small system made in France (Model 58, later Level 61/58), and the operating system for a new 16-bit minicomputer line from Massachusetts (Billerica), the Level 6, got the name GCOS 6.
Another renaming of the hardware product lines occurred in 1979, with the Level 6 becoming the DPS 6, the Level 62 becoming the DPS 4, the Level 64 becoming DPS 7, and Level 66 becoming DPS 8. Operating Systems retained the GCOS brand-name, with GCOS 6, GCOS 4, GCOS 7, and GCOS 8 being introduced. GCOS 8 was an extensive rewrite of GCOS 3, with changes made to support true virtual memory management and demand paging (these changes also required new hardware). GCOS 3 was supported in maintenance for several years after this announcement and renaming.
Several transaction processing monitors were designed for GCOS 3 and GCOS 8. An early attempt at TP for GCOS 3, the Transaction Processing Executive, assumed that, as in Unix, a new process should be started to handle each transaction, and enjoyed only very limited success. Another TP system, the Transaction Driven System (TDS), was soon developed for GCOS 3, using a single process (potentially with multiple threads) to service all transactions. TDS was essentially a Honeywell development. It was later replaced by the backward-compatible Transaction Processing 8 (TP8) on GCOS 8, which profited from the overhaul in GCOS system architecture that came with GCOS 8 to make full use of virtual memory concepts. TP8 used multiple static processes in a way similar to UNIX daemons to handle incoming transactions in a multiplexed way. TDS and its TP8 successor were commercially successful, and TDS predated IBM CICS, which had a very similar architecture. A similar product also called TDS was developed for GCOS-7, but the internal architecture was completely different.
DPS 6 and DPS 4 (ex-Level 62) were superseded by Motorola 68000- and later on PowerPC minicomputers running Unix and the product lines were discontinued, though GCOS 6 ran in an emulator on top of AIX. The DPS 7 line, along with GCOS 7, continued to evolve into the DPS 7000 hardware base.
In the late 1980s Honeywell sold its computer business to a joint venture that initially included NEC and Bull, with Honeywell still holding a stake for a time. Over a couple of years, Bull took over the company. NEC supplied several generations of mainframe hardware at the high end, which would run both GCOS 8 and their own ACOS-4 Operating System. Bull used the nomenclature DPS-9000 for its entire GCOS 8-based mainframe line, which included models designed by both Bull and NEC.
By the late 1990s and early 2000s, Bull's desire was to center its development on a single hardware base, running commodity Intel chips but with Bull value-adds. This platform, called Novascale and based on Itanium 2 processors, runs both Windows and Linux natively. However, Instruction Set Simulators for both the DPS 7000 and DPS 9000 allowed GCOS 7 and GCOS 8 to run on this platform. GCOS 7 has also been ported to a lower-end Xeon-based platform, while Bull has publicly stated that GCOS 8 will continue to be developed for Itanium systems. Bull continues to invest development money in support of both GCOS 7 and GCOS 8, and still has customers in countries around the world.
A trace of GCOS influence remains today in modern UNIX systems. Some early Unix systems at Bell Labs used GCOS machines for print spooling and various other services. The field added to "/etc/passwd" to carry GCOS ID information was called the "GECOS field" and survives today as the "pw_gecos" member used for the user's full name and other human-ID information.
GCOS8 Storage Units
We have become accustomed to an almost universal terminology for units of storage. Modern terminology applies across various operating systems and computer vendors, and is part of everyday conversation. Terms like megabyte and gigabyte mean much the same to everyone, and terms like mebibyte and gibibyte have been formally standardised.
However, the GCOS8 system pre-dates this mono-culture with some colourful units of its own, as follows:
|Unit ||Full Name||Meaning||Generic Equivalent|
|WORD||Word||36 bits, 6 BCD chars, 4 ASCII chars||4 bytes|
|LLINK||Little Link (sometimes "block")||320 words||1280 bytes or 1.25 kibibytes|
|LINK||Link||12 LLINK's||15,360 bytes or 15 kibibytes|
|BLINK||Big Link||5 LINK's||76,800 bytes or 75 kibibytes|
Note that in this system a byte contains 9 bits with values ranging from (000)8 to (777)8 or 0-511, unlike the usual 8-bit-bytes with values ranging from (00)16 to (FF)16 or 0-255.
- Bellec, Jean. "From GECOS to GCOS8; an history of Large Systems in GE, Honeywell, NEC and Bull". Fédération des Equipes Bull. Retrieved May 17, 2010.
- Novascale GCOS - The Groupe Bull GCOS product page.