General Comprehensive Operating System
General Comprehensive Operating System is a family of operating systems oriented toward the 36-bit GE/Honeywell mainframe computers.
The original version of GCOS was developed by General Electric from 1962. The operating system is still used today in its most recent versions on servers and mainframes produced by Groupe Bull, primarily through emulation, to provide continuity with legacy mainframe environments. GCOS 7 and GCOS 8 are separate branches of the operating system and continue to be developed alongside each other.
History
GECOS
The GECOS operating system was developed by General Electric for the 36-bit GE-635 in 1962-1964 and renamed GECOS II in November 1965. It bore a close resemblance architecturally to IBSYS on the IBM 7094 and less to DOS/360 on the System/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 and batch processing, with dynamic allocation of memory, making it a true second-generation operating system.Honeywell GCOS 3
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.One notable use of GCOS was for the United States Worldwide Military Command and Control System in the 1960s.
GCOS 64
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, similar to a parallel development called Multics, was designed by Honeywell and Honeywell Bull developers in France and Boston.GCOS 61/62
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, and the operating system for a new 16-bit minicomputer line from Massachusetts, the Level 6, got the name GCOS 6.GCOS 7 and GCOS 8
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. GCOS 3 was supported in maintenance for several years after this announcement and renaming.Legacy
DPS 6 and DPS 4 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. Support for GCOS 7 and GCOS 8 from Bull is planned through at least 2025 including regular hardware and software upgrades.
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.
Applications
GCOS 3 featured a good Codasyl "relational" database called Integrated Data Store that was the model for the more successful IDMS.Several transaction processing monitors were designed for GCOS 3 and GCOS 8. An early attempt at Transaction processing 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, was soon developed for GCOS 3, using a single process to service all transactions. TDS was essentially a Honeywell development. It was later replaced by the backward-compatible Transaction Processing 8 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.
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.
Program languages available for GCOS included GCOS Algol, Algol-68, COBOL, SNOBOL, JOVIAL, APL, FORTRAN 68, CORAL 66, FORTRAN 77, and B.
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 | 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 8 to 8 or 0–511, unlike the usual 8-bit-bytes with values ranging from 16 to 16 or 0-255. This is due to the 36-bit CPU architecture.
Permanent file sizes were specified in Llinks. Temporary file sizes were specified in Links. Since the early 1970s, all GCOS 3 and GCOS 8 disk drives used Logical Block Addressing.