From Computer History Wiki
Revision as of 01:31, 30 December 2022 by Jnc (talk | contribs) (Add some details of the enhancements)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

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).


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.


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