Difference between revisions of "CB-UNIX"
(PDP-11 only) |
(Add some details of the enhancements) |
||
Line 1: | Line 1: | ||
− | '''CB-UNIX''' was one of three parallel variants of early [[UNIX]] | + | '''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 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 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). |
+ | |||
+ | ==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== | ==History== | ||
Line 7: | Line 45: | ||
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 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 | + | 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 17: | 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 [[ | + | 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 23: | Line 61: | ||
==External links== | ==External links== | ||
− | |||
* [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
- Source Code - source (scan of kernel listings)
- CB-UNIX - Edition 2.3 documentation
v • d • e UNIX Versions, Vendors and Related |
---|
Research Unix PDP-7 UNIX • V1 • V2 • V3 • V4 • V5 • V6 • V7 • V8 • V9 • V10 • LSX • MINI-UNIX • Unix/32V
AT&T - CB-UNIX • PWB/UNIX • USG UNIX • System III • System IV • System V BSD - 2.9 BSD • 2.10 BSD • 2.11 BSD • 3BSD • 4BSD • 4.1 BSD • 4.2 BSD • 4.3 BSD • 4.4 BSD BSD Descendants 386BSD • NetBSD • FreeBSD • OpenBSD • NeXTSTEP • Darwin |
Other - xv6 • AMIX • SunOS • Solaris • ULTRIX • A/UX • XENIX • AIX • Dell UNIX |