OS4000
Encyclopedia
OS4000 is a proprietary
operating system
introduced by GEC Computers Limited
in 1977 as the successor to GEC DOS, for its range of GEC 4000 series
16-bit
, and later 32-bit
, minicomputer
s. OS4000 was developed through to late 1990s, and has been in a support-only mode since then.
type applications.
OS4000 was first released around 1977. It reused many of the parts of DOS, but added multi-user access, OS4000 JCL Command-line interpreter, Batch processing, OS4000 hierarchical filesystem (although on-disk format very similar to the non-hierarchical DOS filesystem). OS4000 JCL was based on the Cambridge University Phoenix
command interpreter.
OS4000 Rel 3 arrived around 1980, and included Linked-OS — support for Linked OS4000 operating systems to enable multi-node systems to be constructed. The main customer for this was the central computing service of University College London
(Euclid), where a multi-node system consisting of a Hub file server
and multiple Rim multi-access compute server systems provided service for over 100 simultaneous users. Linked-OS was also used to construct fail-over Process control systems with higher resilience.
OS4000 Rel 4 arrived around 1983, and upped the maxmimum number of user modules to 150 (again, mainly for the University College London Euclid system), together with an enhanced Batch processing system. It also included support for the GEC 4090 processor, which introduced a 32-bit addressing mode.
OS4000 Rel 5 introduced a modified version of the OS4000 filesystem called CFSX, in order to allow easier use of larger disks. The initial Rel 5 only supported the CFSX filesystem, but support for the original CFS1 filesystem was reintroduced as well quite quickly.
OS4000 Rel 6 introduced support for dual processor systems (GEC 4190D).
OS4000 was developed in the UK at GEC Computers Borehamwood
offices in Elstree Way, and at GEC Computers Dunstable
Development Centre in Woodside Estate, Dunstable.
minicomputers, and these are rather unusual. The platform includes a feature called Nucleus which is a combination of a hardware and firmware based kernel, which cannot be altered under program control. This means that many of the features typically found in operating system kernels do not need to be included in OS4000, as the underlying platform performs these functions instead of the operating system. Consequently, there is no provision for running Privileged mode code on the platform—all OS4000 operating system code runs as processes.
Nucleus supports up to 256 processes, and schedules these automatically using a fixed priority scheme. OS4000 lives entirely within these processes. A set of system tables are used to configure Nucleus, and access to these system tables can be granted to processes which need to alter the configuration of Nucleus, e.g. to load new programs into processes, adjust the Nucleus scheduling for time-shared processes, etc. The system tables tell Nucleus which processes are permitted to communicate with each other, and these are updated as processes are created and destroyed, e.g. when users login and logout. All I/O is performed directly from processes, and the system tables identify which processes have access to which peripherals and handle peripheral interrupts. For example, a device driver for a disk controller is a process, which is responsible for issuing commands through Nucleus to the disk controller, and handling the interrupts passed back from the disk controller via Nucleus, and the system tables will explicitly state that process has access to that disk controller. The system tables will not grant this device driver access to any other peripherals. In the event of a process stopping or crashing, Nucleus looks up its owner process in the system tables, and informs it. The owner process can then take the decision to let the system continue running without that process, or to take out the system (like a Unix panic), or to take some action such as reload and/or restart the process. Functions such as filesystems, store allocation, terminal drivers, timing services, etc. also exist as separate processes.
Nucleus implements a segmented memory system, with processes having their access to memory segments defined by the system tables, which is maintained by OS4000. OS4000 provides a memory system which handles both store-resident memory, and virtual memory backed by disk which is known as overlay, with overlaying being performed at the segment level. OS4000 also inherited grouped segments from DOS, where a group of segments were to be overlayed and retrieved as a single group, but this feature was very little used in OS4000. A process may use any mixture of resident and overlayable segments, although a process performing real-time tasks would normally be designed to only use resident segments.
OS4000 supports a fully mixed set of process scheduling within the same system, from hard real-time processes, through soft real-time, time-shared, and background. Given that OS4000 also includes full program development and test/debug facilities, this made OS4000 ideal for developing and deploying real-time applications such as process control and high speed (at the time) data communications all within one system.
The filesystem is hierarchical, with components limited to 8 characters and the "
Files in an OS4000 filesystem are typed, which means that the filesystem can hold several different types of file, and understands how the contents are structured. Most common are logical files which contain a record structure
. These are split into sequential and random files, with random files having all records the same length to enable seeking to record numbers. Finally, text and binary files are distinguished, mainly to prevent applications which expect textual data from accidentally using a binary file. This results in a set of logical file types identified by three letters, e.g. Logical Sequential Text is LST. The logical file types are LST, LSB, LRT, LRB. The converse to logical files are physical files, which are accessed block at a time, and these are known as Physical Random Binary (PRB) files. File types PST, PSB, PRT also exist in theory, but have the same capabilities as PRB and are not generally used. Additionally, there is a Logical Indexed Sequential (LIS) filetype, which is an ISAM
file and always appears to be sorted on its key field, and a Byte stream
(BYT) filetype, which was added in Rel 6.5 to better support the OS4000 NFS server. A filetype CAT is used to hold catalogues—it is actually the same as an LSB file, but can only be modified by the filesystem itself.
In addition to files and catalogues, there are 3 types of symbolic links. References (REF) can be created to point to another file or catalogue which creator of the REF can see through an initial context pointer, in either the same filesystem or another filesystem. Off Disk Pointers (ODP) are similar to references but can be created to point to a file or catalogue which cannot be seen through any initial context pointers, and creating an ODP is a privileged operation only available to the system manager. Support for Unix style symlinks (arbitrary text stored in a catalogue) was added in Rel 6.5 to better support the OS4000 NFS server, but symlinks can only be created and are only visible from NFS clients.
OS4000 also provides a non-hierarchical temporary filesystem. This supports exactly the same types of file as permanent filesystems, except for CAT, REF, ODP, and symlinks. The file contents are stored in dedicated temporary filing disk regions, but the file metadata is stored in memory. Each logged in user has a private temporary filing name space which cannot be seen by any other logged in user (nor even another logged in user with the same username). A user's temporary files are deleted when the user logs out (and implicitly if the system is rebooted). Temporary filenames start with a percent "
In this case, user
When a user logs in, the OS4000 JCL command interpreter
Main Applications =
Real-time
Process Control
accounts for over half of all the OS4000 systems deployed. Of these systems, steel
production accounts for a significant proportion. The earlier of these Real-time Process Control systems were upgraded from DOS to OS4000.
X.25
Packet Switches
account for a significant proportion of systems (although earlier GEC X.25 Packet Switches ran a special operating system called NOS which was a cut down operating system half-way between DOS and OS4000).
Civil Command and Control
systems, e.g. Fire Service control systems interfacing the emergency telephone operator with the Fire Stations.
Prestel
(UK) and the public Videotex
systems used in many other countries, and many private Viewdata
systems.
Multi-User Minicomputers, used in many Education and Research establishments.
minicomputer where it was known as OS6000. This required the addition of a software Nucleus emulation, as this was not a feature of the GEC Series 63 hardware. GEC Computers dropped OS6000, and the source code was given to Daresbury Laboratory
who was the main user of it, and they continued to keep it in step with OS4000 releases for the lifetime of their two GEC Series 63 systems.
Proprietary software
Proprietary software is computer software licensed under exclusive legal right of the copyright holder. The licensee is given the right to use the software under certain conditions, while restricted from other uses, such as modification, further distribution, or reverse engineering.Complementary...
operating system
Operating system
An operating system is a set of programs that manage computer hardware resources and provide common services for application software. The operating system is the most important type of system software in a computer system...
introduced by GEC Computers Limited
GEC Computers
GEC Computers Limited was the computer manufacturing company under the GEC holding company.-History:Starting life as Elliott Automation, the data processing computer products were transferred to ICT/ICL and non-computing products to English Electric as part of a reorganisation of the parent company...
in 1977 as the successor to GEC DOS, for its range of GEC 4000 series
GEC 4000 series
The GEC 4000 was a series of 16/32-bit minicomputers produced by GEC Computers Ltd. of the UK during the 1970s, 1980s and early 1990s.- History :...
16-bit
16-bit
-16-bit architecture:The HP BPC, introduced in 1975, was the world's first 16-bit microprocessor. Prominent 16-bit processors include the PDP-11, Intel 8086, Intel 80286 and the WDC 65C816. The Intel 8088 was program-compatible with the Intel 8086, and was 16-bit in that its registers were 16...
, and later 32-bit
32-bit
The range of integer values that can be stored in 32 bits is 0 through 4,294,967,295. Hence, a processor with 32-bit memory addresses can directly access 4 GB of byte-addressable memory....
, minicomputer
Minicomputer
A minicomputer is a class of multi-user computers that lies in the middle range of the computing spectrum, in between the largest multi-user systems and the smallest single-user systems...
s. OS4000 was developed through to late 1990s, and has been in a support-only mode since then.
History
The first operating systems for the GEC 4000 series were COS (Core Operating System) and DOS (Disk Operating System). These were basically single-user multi-tasking operating systems, designed for developing and running Process controlProcess control
Process control is a statistics and engineering discipline that deals with architectures, mechanisms and algorithms for maintaining the output of a specific process within a desired range...
type applications.
OS4000 was first released around 1977. It reused many of the parts of DOS, but added multi-user access, OS4000 JCL Command-line interpreter, Batch processing, OS4000 hierarchical filesystem (although on-disk format very similar to the non-hierarchical DOS filesystem). OS4000 JCL was based on the Cambridge University Phoenix
Phoenix (computer)
Phoenix was an IBM mainframe computer at Cambridge University's Computer Laboratory. "Phoenix/MVS" was also the name of the computer's operating system, written in-house by Computer Laboratory members. Its DNS hostname was phx.cam.ac.uk.- Hardware :The Phoenix system was an IBM 370/165...
command interpreter.
OS4000 Rel 3 arrived around 1980, and included Linked-OS — support for Linked OS4000 operating systems to enable multi-node systems to be constructed. The main customer for this was the central computing service of University College London
University College London
University College London is a public research university located in London, United Kingdom and the oldest and largest constituent college of the federal University of London...
(Euclid), where a multi-node system consisting of a Hub file server
File server
In computing, a file server is a computer attached to a network that has the primary purpose of providing a location for shared disk access, i.e. shared storage of computer files that can be accessed by the workstations that are attached to the computer network...
and multiple Rim multi-access compute server systems provided service for over 100 simultaneous users. Linked-OS was also used to construct fail-over Process control systems with higher resilience.
OS4000 Rel 4 arrived around 1983, and upped the maxmimum number of user modules to 150 (again, mainly for the University College London Euclid system), together with an enhanced Batch processing system. It also included support for the GEC 4090 processor, which introduced a 32-bit addressing mode.
OS4000 Rel 5 introduced a modified version of the OS4000 filesystem called CFSX, in order to allow easier use of larger disks. The initial Rel 5 only supported the CFSX filesystem, but support for the original CFS1 filesystem was reintroduced as well quite quickly.
OS4000 Rel 6 introduced support for dual processor systems (GEC 4190D).
OS4000 was developed in the UK at GEC Computers Borehamwood
Borehamwood
-Film industry:Since the 1920s, the town has been home to several film studios and many shots of its streets are included in final cuts of 20th century British films. This earned it the nickname of the "British Hollywood"...
offices in Elstree Way, and at GEC Computers Dunstable
Dunstable
Dunstable is a market town and civil parish located in Bedfordshire, England. It lies on the eastward tail spurs of the Chiltern Hills, 30 miles north of London. These geographical features form several steep chalk escarpments most noticeable when approaching Dunstable from the north.-Etymology:In...
Development Centre in Woodside Estate, Dunstable.
Architecture
The architecture of OS4000 is very heavily based around the architecture of the platform it runs on, the GEC 4000 seriesGEC 4000 series
The GEC 4000 was a series of 16/32-bit minicomputers produced by GEC Computers Ltd. of the UK during the 1970s, 1980s and early 1990s.- History :...
minicomputers, and these are rather unusual. The platform includes a feature called Nucleus which is a combination of a hardware and firmware based kernel, which cannot be altered under program control. This means that many of the features typically found in operating system kernels do not need to be included in OS4000, as the underlying platform performs these functions instead of the operating system. Consequently, there is no provision for running Privileged mode code on the platform—all OS4000 operating system code runs as processes.
Nucleus supports up to 256 processes, and schedules these automatically using a fixed priority scheme. OS4000 lives entirely within these processes. A set of system tables are used to configure Nucleus, and access to these system tables can be granted to processes which need to alter the configuration of Nucleus, e.g. to load new programs into processes, adjust the Nucleus scheduling for time-shared processes, etc. The system tables tell Nucleus which processes are permitted to communicate with each other, and these are updated as processes are created and destroyed, e.g. when users login and logout. All I/O is performed directly from processes, and the system tables identify which processes have access to which peripherals and handle peripheral interrupts. For example, a device driver for a disk controller is a process, which is responsible for issuing commands through Nucleus to the disk controller, and handling the interrupts passed back from the disk controller via Nucleus, and the system tables will explicitly state that process has access to that disk controller. The system tables will not grant this device driver access to any other peripherals. In the event of a process stopping or crashing, Nucleus looks up its owner process in the system tables, and informs it. The owner process can then take the decision to let the system continue running without that process, or to take out the system (like a Unix panic), or to take some action such as reload and/or restart the process. Functions such as filesystems, store allocation, terminal drivers, timing services, etc. also exist as separate processes.
Nucleus implements a segmented memory system, with processes having their access to memory segments defined by the system tables, which is maintained by OS4000. OS4000 provides a memory system which handles both store-resident memory, and virtual memory backed by disk which is known as overlay, with overlaying being performed at the segment level. OS4000 also inherited grouped segments from DOS, where a group of segments were to be overlayed and retrieved as a single group, but this feature was very little used in OS4000. A process may use any mixture of resident and overlayable segments, although a process performing real-time tasks would normally be designed to only use resident segments.
OS4000 supports a fully mixed set of process scheduling within the same system, from hard real-time processes, through soft real-time, time-shared, and background. Given that OS4000 also includes full program development and test/debug facilities, this made OS4000 ideal for developing and deploying real-time applications such as process control and high speed (at the time) data communications all within one system.
Filesystem
OS4000 uses its own proprietary filesystem. The filesystem is extent based, and variable block size — different files can be created with different blocksizes, ranging from 256 bytes to 16384 bytes in 256 byte multiples.The filesystem is hierarchical, with components limited to 8 characters and the "
.
" (period) used as the component separator. OS4000 JCL limits characters in file path components to upper case letters and numbers only. Each file path starts with a context pointer which is a name which refers to a position in a filesystem, followed by zero or more catalogues (equivalent to Unix directories), and ending with a filename. Each disk on the system contains a separate and independent filesystem, and the volume name of a disk is the same as the name of its top level catalogue or master catalogue. There must be one disk mounted with a volume name of SYSTEM
which contains specific files required by OS4000. In larger systems, there will usually be additional disks containing user files, data files, etc. although these can all coexist on the SYSTEM
disk, space permitting. Users are each given a set of initial context pointers which each point to a catalogue on a filesystem, and users can only see the filesystem hierarchies below their initial context pointers. Systems are usually configured so that unprivileged users cannot see other users files or the system's files, except for the system executables held in SYS
. By convention, an area called POOL
is available for all users, and enables the transfer/sharing of files.Files in an OS4000 filesystem are typed, which means that the filesystem can hold several different types of file, and understands how the contents are structured. Most common are logical files which contain a record structure
Storage record
In computer science, a storage record is:* A group of related data, words, or fields treated as a meaningful unit; for instance, a Name, Address, and Telephone Number can be a "Personal Record"....
. These are split into sequential and random files, with random files having all records the same length to enable seeking to record numbers. Finally, text and binary files are distinguished, mainly to prevent applications which expect textual data from accidentally using a binary file. This results in a set of logical file types identified by three letters, e.g. Logical Sequential Text is LST. The logical file types are LST, LSB, LRT, LRB. The converse to logical files are physical files, which are accessed block at a time, and these are known as Physical Random Binary (PRB) files. File types PST, PSB, PRT also exist in theory, but have the same capabilities as PRB and are not generally used. Additionally, there is a Logical Indexed Sequential (LIS) filetype, which is an ISAM
ISAM
ISAM stands for Indexed Sequential Access Method, a method for indexing data for fast retrieval. ISAM was originally developed by IBM for mainframe computers...
file and always appears to be sorted on its key field, and a Byte stream
Byte stream
In computer science, a byte stream is a bit stream, in which data bits are grouped into units, called bytes.In computer networking the term octet stream is sometimes used to refer to the same thing; it emphasizes the use of bytes having the length of 8 bits, known as octets.Formally, a byte stream...
(BYT) filetype, which was added in Rel 6.5 to better support the OS4000 NFS server. A filetype CAT is used to hold catalogues—it is actually the same as an LSB file, but can only be modified by the filesystem itself.
In addition to files and catalogues, there are 3 types of symbolic links. References (REF) can be created to point to another file or catalogue which creator of the REF can see through an initial context pointer, in either the same filesystem or another filesystem. Off Disk Pointers (ODP) are similar to references but can be created to point to a file or catalogue which cannot be seen through any initial context pointers, and creating an ODP is a privileged operation only available to the system manager. Support for Unix style symlinks (arbitrary text stored in a catalogue) was added in Rel 6.5 to better support the OS4000 NFS server, but symlinks can only be created and are only visible from NFS clients.
OS4000 also provides a non-hierarchical temporary filesystem. This supports exactly the same types of file as permanent filesystems, except for CAT, REF, ODP, and symlinks. The file contents are stored in dedicated temporary filing disk regions, but the file metadata is stored in memory. Each logged in user has a private temporary filing name space which cannot be seen by any other logged in user (nor even another logged in user with the same username). A user's temporary files are deleted when the user logs out (and implicitly if the system is rebooted). Temporary filenames start with a percent "
%
" or ampersand "&
" and are limited to 8 characters.Multi-access Environment
The following shows a short Multi-access login session:SESSION STARTING
CPU used: 3 ieu elapsed time used: 15 mins User SMAN terminal 2 logged out SUN 17 MAY 2009 11:21:31 |
In this case, user
SMAN
has logged in and issued the EXAMINE
command. Then the session has been left to timeout through inactivity.When a user logs in, the OS4000 JCL command interpreter
SYS.COMM
is loaded into the user's COMM
process and started. This reads commands from the terminal. A number of system commands are built in to SYS.COMM
. In the case of a command which isn't built in, executable binary files are loaded into the USER
process and run, and text JCL files are opened and processed directly by SYS.COMM
itself. A user normally also gets an AIDA
process which is privileged and used to load only trusted debugging programs.Main Applications =
Real-time
Real-time computing
In computer science, real-time computing , or reactive computing, is the study of hardware and software systems that are subject to a "real-time constraint"— e.g. operational deadlines from event to system response. Real-time programs must guarantee response within strict time constraints...
Process Control
Process control
Process control is a statistics and engineering discipline that deals with architectures, mechanisms and algorithms for maintaining the output of a specific process within a desired range...
accounts for over half of all the OS4000 systems deployed. Of these systems, steel
Steel
Steel is an alloy that consists mostly of iron and has a carbon content between 0.2% and 2.1% by weight, depending on the grade. Carbon is the most common alloying material for iron, but various other alloying elements are used, such as manganese, chromium, vanadium, and tungsten...
production accounts for a significant proportion. The earlier of these Real-time Process Control systems were upgraded from DOS to OS4000.
X.25
X.25
X.25 is an ITU-T standard protocol suite for packet switched wide area network communication. An X.25 WAN consists of packet-switching exchange nodes as the networking hardware, and leased lines, Plain old telephone service connections or ISDN connections as physical links...
Packet Switches
Packet switch
A packet switch is a node in a network which uses the packet switching paradigm for data communication. Packet switches can operate at a number of different levels in a protocol suite; although the exact technical details differ, fundamentally they all perform the same function: they store and...
account for a significant proportion of systems (although earlier GEC X.25 Packet Switches ran a special operating system called NOS which was a cut down operating system half-way between DOS and OS4000).
Civil Command and Control
Gold Silver Bronze command structure
A gold–silver–bronze command structure is used by emergency services of the United Kingdom to establish a hierarchical framework for the command and control of major incidents and disasters...
systems, e.g. Fire Service control systems interfacing the emergency telephone operator with the Fire Stations.
Prestel
Prestel
Prestel , the brand name for the UK Post Office's Viewdata technology, was an interactive videotex system developed during the late 1970s and commercially launched in 1979...
(UK) and the public Videotex
Videotex
Videotex was one of the earliest implementations of an "end-user information system". From the late 1970s to mid-1980s, it was used to deliver information to a user in computer-like format, typically to be displayed on a television.In a strict definition, videotex refers to systems that provide...
systems used in many other countries, and many private Viewdata
Viewdata
Viewdata is a Videotex implementation. It is a type of information retrieval service in which a subscriber can access a remote database via a common carrier channel, request data and receive requested data on a video display over a separate channel. Samuel Fedida was credited as inventor of the...
systems.
Multi-User Minicomputers, used in many Education and Research establishments.
Ports
OS4000 was ported to the GEC Series 63GEC Series 63
The GEC Series 63 was a 32-bit minicomputer produced by GEC Computers Limited of the UK during the 1980s in conjunction with A.B. Dick in USA. During development, the computer was known as the R Project. The hardware development was done in Scottsdale, Arizona whilst the software was the...
minicomputer where it was known as OS6000. This required the addition of a software Nucleus emulation, as this was not a feature of the GEC Series 63 hardware. GEC Computers dropped OS6000, and the source code was given to Daresbury Laboratory
Daresbury Laboratory
Daresbury Laboratory is a scientific research laboratory near Daresbury in Cheshire, England, which began operations in 1962 and was officially opened on 16 June 1967 as the Daresbury Nuclear Physics Laboratory by the then Prime Minister of United Kingdom, Harold Wilson...
who was the main user of it, and they continued to keep it in step with OS4000 releases for the lifetime of their two GEC Series 63 systems.
See also
- GEC 4000 seriesGEC 4000 seriesThe GEC 4000 was a series of 16/32-bit minicomputers produced by GEC Computers Ltd. of the UK during the 1970s, 1980s and early 1990s.- History :...
minicomputers - Babbage (programming language)Babbage (programming language)Babbage is the high level assembly language for the GEC 4000 series minicomputers. It was named after Charles Babbage, an English computing pioneer.- Example :PROCESS CHAPTER FACTORIALENTRY LABEL ENTRYPOINT...
- GEC Computers LimitedGEC ComputersGEC Computers Limited was the computer manufacturing company under the GEC holding company.-History:Starting life as Elliott Automation, the data processing computer products were transferred to ICT/ICL and non-computing products to English Electric as part of a reorganisation of the parent company...