Difference between revisions of "CB-UNIX"

From Computer History Wiki
Jump to: navigation, search
m (typos)
(Add some details of the enhancements)
 
(2 intermediate revisions by the same user not shown)
Line 1: Line 1:
'''CB-UNIX''' was one of three parallel variants of early [[UNIX]] inside the Bell System, along with [[USG UNIX]] and [[PWB/UNIX]]. It came out of the Operations System Group (OSG) in Columbus, Ohio.
+
'''CB-UNIX''' was one of three parallel variants of early [[UNIX]] inside the Bell System, along with [[USG UNIX]] and [[PWB/UNIX]]. It came out of the Operations System Group (OSG) in Columbus, Ohio.
  
Apparently initially based on [[UNIX Version 6]], for the [[PDP-11]] (although at the end of its life it did run on [[VAX]]en), it had changes and extensions to the [[kernel]] to make it more suitable for use in control applications, including [[real-time]] systems (unlike the other two, which were primarily intended for computer center type usage).
+
It only ever ran on the [[PDP-11]]; it was initially based on an early [[C programming language|C]] version of the system (possibly [[UNIX Version 5]] or [[UNIX Version 6]]). CB-UNIX had changes and extensions to the [[kernel]] to make it more suitable for use in control applications, including [[real-time]] systems (unlike the other two, which were primarily intended for computer center type usage).
  
Major enhancements included extensive inter-[[process]] communication (in part via [[semaphore]]s, and shared memory mechanisms) and [[file]] locking, which were considered essential for database management systems; it also had contributions in the areas of power failure recovery.
+
==Enhancements==
 +
 
 +
Major enhancements included extensive inter-[[process]] communication (in part via [[semaphore]]s, and shared memory mechanisms) and [[file]] locking, which were considered essential for database management systems. A 'Logical File System' was added  to provide contiguous file storage, instead of the scattered file storage provided by the native [[UNIX file system]]. It also had enhanceents in the areas of power failure recovery.
 +
 
 +
Semaphore operations included:
 +
 
 +
* p(sem)
 +
* v(sem)
 +
* post(sem)
 +
* test(sem)
 +
* block(sem)
 +
 
 +
Messages were a fast inter-process communication system; message operations included:
 +
 
 +
* menab(name, flags)
 +
* mdisab(disp)
 +
* msend(mstr, buf, size)
 +
* mrcv(mstr, buf, size)
 +
* mctl(mstr, command, bufarg, size)
 +
 
 +
Multiple access user space was a subset of a more general shared memory mechanism (below); operations were:
 +
 
 +
* getmaus(name, mode)
 +
* freemaus(des)
 +
* enabmaus(des)
 +
* dismaus(addr)
 +
* switmaus(des, addr)
 +
 
 +
Shared memory operations were:
 +
 
 +
* smcreat(path, access, size)
 +
* smopen(path, mode)
 +
* sclose(des)
 +
* smget(des, mode, offset, size, time)
 +
* smput(addr)
 +
 
 +
CB-UNIX also included an implementation of the Bell [[X.25]]  [[data communication]] [[protocol]].
 +
 
 +
==History==
 +
 
 +
The lineage that eventually led to CB-UNIX came from the Switching Control Center Systems group in Holmdel, New Jersey. Very early on, a small group there utilized an [[assembly language]] version of UNIX, probably [[UNIX Second Edition]] or so, running on a [[PDP-11/20]], to collect maintenance data from early computerized telephone switches (ESS). It was the first group other than the patent office to use UNIX.
 +
 
 +
The SCCS group was transferred to Columbus, Ohio in the fall of 1974, and continued to expand their application. Other Operating Support Systems began to be developed in Columbus, and they also used the UNIX variant that had been developed by SCCS. Rather than have each OSS have its own UNIX, the CB-OSG (Columbus Operating Systems Group) was formed in January of 1977; their UNIX was CB-UNIX.
  
 
Releases included:
 
Releases included:
Line 13: Line 55:
 
*  Edition 2.3 - mid 1981
 
*  Edition 2.3 - mid 1981
  
The three different systems (which had by then diverged slightly), along with (by then [[portable]]) [[Unix Seventh Edition]] from the Research group, were eventually unified as [[Unix SYSIII]], in June, 1980.
+
The three different systems (which had by then diverged slightly), along with the (by then [[portable]]) [[Unix Seventh Edition]] from the Research group, were eventually unified as [[UNIX System III]], in June, 1980.
  
 
{{semi-stub}}
 
{{semi-stub}}
Line 19: Line 61:
 
==External links==
 
==External links==
  
* [https://www.tuhs.org/Archive/Distributions/USDL/CB_Unix/ CB-UNIX] - documentation
 
 
* [https://www.tuhs.org/Archive/Distributions/USDL/CB_Unix/SourceCode/ Source Code] - source (scan of kernel listings)
 
* [https://www.tuhs.org/Archive/Distributions/USDL/CB_Unix/SourceCode/ Source Code] - source (scan of kernel listings)
 +
* [https://www.tuhs.org/Archive/Distributions/USDL/CB_Unix/ CB-UNIX] - Edition 2.3 documentation
  
 
{{Nav Unix}}
 
{{Nav Unix}}
  
 +
[[Category: PDP-11 Operating Systems]]
 +
[[Category: Non-DEC Operating Systems]]
 
[[Category: Unix OS's]]
 
[[Category: Unix OS's]]

Latest revision as of 00:31, 30 December 2022

CB-UNIX was one of three parallel variants of early UNIX inside the Bell System, along with USG UNIX and PWB/UNIX. It came out of the Operations System Group (OSG) in Columbus, Ohio.

It only ever ran on the PDP-11; it was initially based on an early C version of the system (possibly UNIX Version 5 or UNIX Version 6). CB-UNIX had changes and extensions to the kernel to make it more suitable for use in control applications, including real-time systems (unlike the other two, which were primarily intended for computer center type usage).

Enhancements

Major enhancements included extensive inter-process communication (in part via semaphores, and shared memory mechanisms) and file locking, which were considered essential for database management systems. A 'Logical File System' was added to provide contiguous file storage, instead of the scattered file storage provided by the native UNIX file system. It also had enhanceents in the areas of power failure recovery.

Semaphore operations included:

  • p(sem)
  • v(sem)
  • post(sem)
  • test(sem)
  • block(sem)

Messages were a fast inter-process communication system; message operations included:

  • menab(name, flags)
  • mdisab(disp)
  • msend(mstr, buf, size)
  • mrcv(mstr, buf, size)
  • mctl(mstr, command, bufarg, size)

Multiple access user space was a subset of a more general shared memory mechanism (below); operations were:

  • getmaus(name, mode)
  • freemaus(des)
  • enabmaus(des)
  • dismaus(addr)
  • switmaus(des, addr)

Shared memory operations were:

  • smcreat(path, access, size)
  • smopen(path, mode)
  • sclose(des)
  • smget(des, mode, offset, size, time)
  • smput(addr)

CB-UNIX also included an implementation of the Bell X.25 data communication protocol.

History

The lineage that eventually led to CB-UNIX came from the Switching Control Center Systems group in Holmdel, New Jersey. Very early on, a small group there utilized an assembly language version of UNIX, probably UNIX Second Edition or so, running on a PDP-11/20, to collect maintenance data from early computerized telephone switches (ESS). It was the first group other than the patent office to use UNIX.

The SCCS group was transferred to Columbus, Ohio in the fall of 1974, and continued to expand their application. Other Operating Support Systems began to be developed in Columbus, and they also used the UNIX variant that had been developed by SCCS. Rather than have each OSS have its own UNIX, the CB-OSG (Columbus Operating Systems Group) was formed in January of 1977; their UNIX was CB-UNIX.

Releases included:

  • Edition 1.0 - mid 1977
  • Edition 2.0 - January 1979
  • Edition 2.1 - January 1980
  • Edition 2.2 - January 1981
  • Edition 2.3 - mid 1981

The three different systems (which had by then diverged slightly), along with the (by then portable) Unix Seventh Edition from the Research group, were eventually unified as UNIX System III, in June, 1980.

External links