A software bus is a software architecture model where a shared communication channel facilitates connections and communication between software modules. This makes software buses conceptually similar to the bus term used in computer hardware for interconnecting pathways.
In the early microcomputer era of the 1970s, Digital Research's operating system CP/M was often described as a software bus. Lifeboat Associates, an early distributor of CP/M and later of MS-DOS software, had a whole product line named Software Bus. D-Bus is used in many modern desktop environments to allow multiple processes to communicate with one another.
- Lifeboat Associates Software Bus-80 aka SB-80, a version of CP/M-80 for 8080/Z80 8-bit computers
- Lifeboat Associates Software Bus-86 aka SB-86, a version of MS-DOS for x86 16-bit computers.
- Component Object Model for in-process and interprocess communication.
- D-Bus for interprocess communication.
- Enterprise service bus for distributed communication.
- "Definition of software bus". PCMAG. Retrieved 2021-06-29.
- Clarke, A.; Eaton, J. M.; David, D. Powys Lybbe (October 26, 1983). CP/M - the Software Bus: A Programmer's Companion. Sigma Press. ISBN 978-0905104188.
- Johnson, Herbert R. (July 30, 2014). "CP/M and Digital Research Inc. (DRI) History".
- Duncan, Ray (1988). The MS-DOS Encyclopedia. Microsoft Press. p. 27.
Further complications arose when Lifeboat Associates agreed to help promote MS-DOS but decided to call the operating system Software Bus 86. MS-DOS thus became on of a line of trademarked Software Bus products, another of which was a product called SB-80, Lifeboat's version of CP/M-80.
- Microsoft MSDN: Microsoft on the Enterprise Service Bus (ESB)