Approved IEEE Milestone: Birth of the 1st PC Operating System (CP/M)
Introduction:
Gary A. Kildall, PhD (1942 – 1994), developed and then demonstrated the first working prototype of CP/M (Control Program for Microcomputers) in Pacific Grove in 1974. Together with his invention of the BIOS (Basic Input Output System), Kildall’s operating system allowed a microprocessor-based computer to communicate with a disk drive storage unit and provided an important foundation for the personal computer revolution. This article reviews the history of CP/M and why it was so important.
A plaque to commemorate this IEEE Milestone will be installed in Pacific Grove, CA on April 25, 2014 with a brief ceremony that is scheduled to start at 2pm. The intended site for the plaque, a two-story Victorian residence at the corner of Lighthouse Avenue and Willow Street (Pacific Grove, CA). served as the DRI headquarters building from 1978 to 1991. The leader of this milestone initiative was Dick Ahrons. Brian Berg, Tom Rolander, and David Laws are working on the April 25th dedication program for this epic event.
Details on the April 25th CP/M Milestone program will be posted as a comment when that event is formally announced.
History of CP/M:
In 1976, Gary Kildall incorporated Digital Research, Inc. (DRI) to commercialize the program and released version 1.3 of CP/M and BIOS.
CP/M was the first commercial operating system to allow a microprocessor-based computer to interface to a disk drive storage unit. CP/M played an important role in stimulating the hobbyist personal computer movement of the 1970s. Its ability to support software programs on a wide variety of hardware configurations enabled early use of microcomputer systems from many different manufacturers in business and scientific applications. Microsoft DOS, as licensed to IBM for the original PC, was written to emulate the "look and feel" of CP/M. Thus CP/M was the forerunner of the operating systems that now power the majority of the world’s computers and led to the personal computing revolution.
The major challenge that Kildall had to overcome in the development of CP/M was the design and debugging of the “complex electronics ... to make the diskette drive find certain locations and transfer data back and forth.”
BIOS, which is included in this IEEE milestone, was the first software run by a microprocessor based PC when powered on. The BIOS software was "built into" the PC (stored in a Read Only Memory) and was the first software run by a PC when it powered on.The fundamental purposes of the BIOS were to initialize and test the system hardware components, and to load an Operating System from a disk drive (or other mass storage) into primary memory (core or semiconductor) that was accessed by the processor. The BIOS provided an abstraction layer for the hardware, i.e. a consistent way for application programs and operating systems to interact with the keyboard, display, and other input/output devices. Variations in the system hardware were hidden by the BIOS from programs that used BIOS services.
.....................................................................................
The following recollections are abstracted from pages 53 - 55 of "Computer Connections", an unpublished autobiography that he wrote and distributed to friends and family in 1994. "Memorex ... had come up with the new "floppy disk" to replace IBM punched cards. I stared at that damn diskette drive for hours on end ... trying to figure a way to make it fly. I tried to build a diskette controller … but I, being mainly hardware inept … couldn’t get my controller to work. So I built an operting (sic) system program ... I called it CP/M [but] I just couldn't figure out how to make that damn disk drive work. Out of frustration, I called my good friend from the University of Washington, John Torode. He designed a neat little microcontroller and after a few months of testing that microcontroller started to work. We loaded my CP/M program from paper tape to the diskette and "booted" CP/M from the diskette, and up came the prompt *. This may have been one of the most exciting days of my life."
Before Kildall’s development of CP/M, micro-computer manufacturers provided proprietary applications software that worked only on their own hardware. All programs had to be written from scratch to operate on each unique machine configuration. CP/M was initially designed to work on the Intel 8080 microprocessor and allowed computer systems built by any manufacturer who used that chip to run applications programs written by third-party suppliers. CP/M introduced a new element of competition into the computer marketplace that stimulated rapid growth in the use of low-cost systems in business, industry and academia and eventually in the home. According to Kildall, “CP/M was an instant success. By 1980, DRI had sold millions of copies of CP/M to manufacturers and end-users.”
Kildall’s own public account of the history of CP/M was published in Dr Dobbs Journal in 1980: THE EVOLUTION OF AN INDUSTRY: ONE PERSON'S VIEWPOINT, "Dr. Dobb's Journal of Computer Calisthenics & Orthodontia", Vol.5, No.1, (January 1980) (number 41), page 6-7.
Numerous popular accounts of the history of CP/M have been published in newspaper and magazine articles and in books, as well as online. Most of them focus on the fictitious story that DRI lost out to Microsoft on the IBM PC operating system decision in the summer of 1980, because Kildall had taken the day off to go flying. Kildall refutes this story in “Computer Connections” but it is probably most eloquently recounted in Harold Evans’ book on U.S. pioneers and innovators “They Made America: Two Centuries of Innovators from the Steam Engine to the Search Engine” (2004) ISBN 0-316-27766-5.
According to that chapter (paraphrased here):
After Kildall's wife Dorothy refused to sign IBM's "ludicrously far reaching non disclosure agreement (NDA)" in the morning of IBM's visit to his home, Kildall and Tom Rolander met with IBM that same afternoon. Once the NDA was agreed to and signed by Kildall, IBM revealed its plan. Rolander demonstrated DRI's MP/M-86 - the new multi-tasking Operating System for Intel's 8086 microprocessor. Rolander and Kildall wanted that OS to be the new defacto standard for microprocessor based OS's as they believed multi-tasking was the wave of the future.
Negotiations began on how much IBM would pay DRI. Kildall believed they could strike a deal. Kildall wrote, "We broke from the discussions, but nevertheless handshaking in general agreement of making a deal."
That night, Kildall and his family went to the Caribbean for vacation. When they returned home one week later, Gary called IBM in Boca Raton several times, but "they had gone off the air." IBM had gone back to Microsoft to make a deal on the latter's PC operating system (PC-DOS which was later renamed MS-DOS). Bill Gates allegedly told IBM that Kildall had not yet finished designing CP/M to run on a 16 bit microprocessor and that Microsoft could by itself meet IBM's requirements.
Kildall and others claimed that PC-DOS had copied (and was therefore a clone of) CP/M. DRI threatened to sue IBM for copyright infringement if they proceeded to use PC-DOS in the first IBM PC which was scheduled to be announced in four months (August 1981).
IBM offered to market CP/M-86 along with Microsoft's PC-DOS (for the first IBM PC) on the condition that Kildall (DRI) would not sue IBM for infringement of CP/M copyrights. IBM accepted that it would pay DRI a standard royalty rate (presumably for each copy of CP/M sold).
But Kildall did not know that IBM would screw them by making CP/M-86 prohibitively more expensive than PC-DOS which had a 6 to 1 price advantage - $40 vs $240. IBM evidently had no intention of selling CP/M-86. Kildall called IBM to request they reduce the price of CP/M, but no one called back.
Kildall wrote, "The pricing difference set by IBM killed CP/M-86. I believe to this day that the entire (pricing) scenario was contrived by IBM to garner the existing standard at almost no cost. Fundamental to this conspiracy was the plan to obtain the waiver for their own PC-DOS produced by Microsoft."
CP/M rapidly lost market share as the microcomputing market moved to the PC platform, and it never regained its former popularity. Byte magazine, at the time one of the leading industry magazines for microcomputers, essentially ceased covering CP/M products within a few years of the introduction of the IBM PC
....................................................
Before CP/M there was PL/M:
Prior to the work on CP/M, Kildall consulted for Intel and National Semiconductor to help them adapt his PL/M+ compiler to their microprocessor development systems. Unlike other contemporary languages such as Pascal, C or BASIC, PL/M had no standard input or output routines. It included features targeted at the low-level (microprocessor based) hardware, and could support direct access to any location in memory, I/O ports and microprocessor interrupt flags, in a very efficient manner. PL/M was the first high level programming language for microprocessor based computers and the original implementation language for the CP/M operating system.
+ PL/M was the first high level programming language for microprocessors. It was created by Kildall in 1972.
From the Gary Kildall chapter of the earlier referenced They Made America book:
"Intel was abuzz in 1973 with the triumph of the Intel 8008 chip, which doubled the power of its first microprocessor, and Kildall was drawn to spend more and more time there. After his "eyeballs gave way", he would spend the night sleeping in his Volkswagen van in the parking lot. He became a trader in an electronic bazaar, swapping his software skills for Intel's development hardware. One morning, he knocked on the door of Hank Smith, the manager of Intel's little software group, and told him he could make a compiler for the Intel 8008 microprocessor, so that his customers would not need to go through the drag of low-level assembly language. Smith did not know what Kildall meant.
Kildall showed how a compiler would enable an 8008 user to write the simple equation x = y + z instead of several lines of low-level assembly language. The manager called a customer he was courting, put the phone down and, with a big smile, uttered three words of great significance for the development of the Personal Computer: "Go for it!"
The new programming language, which Kildall called PL/M, or Programming Language for Microcomputers, was immensely fruitful. Intel adopted it, and Kildall used it to write his own microprocessor applications, such as Operating Systems and utility programs.
It was the instrument for developing the PL/I-80 compiler that he worked on with Dan Davis for three years. "Gary was very visual", Davis told me. "He would design things more or less graphically, and then transfer his design into code. He even had an aesthetic about his drawings. He was very thorough, patient and persistent in ensuring his solutions were not only correct, but elegant." Kildall's reward was Intel's small new computer system, the Intellec-8."
..................................................................................................
Closing Comment:
This author knew Gary Kildall from 1973 to 1976 from his consulting work at National Semiconductor and the (1975 and 76) Asilomar MicroComputer Workshops. Contrary to accounts of his being arrogant or aloof, he was just the opposite- gracious, polite, considerate and well behaved. He did not come across as a hippie, but rather as a trustful academic. At the 1975 Asilomar workshop, Kildall acknowledged and praised my work developing and demonstrating real time microprocessor applications at National Semiconductor. He said I was doing great work there. I felt very proud of myself that day and thanked Gary for his kind words. IMHO, Kildall was a gentleman and a scholar, but evidently not a shrewd, cut-throat businessman.
........................................................
Primary References:
IEEE Global History Network webpage for this milestone has a complete summary with links and videos: Milestones:The CP/M Microcomputer Operating System,1974
http://www.ieeeghn.org/wiki/index.php/Milestones:The_CP/M_Microcomputer_Operating_System,_1974
IEEE Milestone Plaque citation summarizing the achievement and its significance:
"Dr. Gary A. Kildall demonstrated the first working prototype of CP/M (Control Program for Microcomputers) in Pacific Grove in 1974. Together with his invention of the BIOS (Basic Input Output System), Kildall’s operating system allowed a microprocessor-based computer to communicate with a disk drive storage unit and provided an important foundation for the personal computer revolution."
http://www.ieeeghn.org/wiki/index.php/Milestone-Proposal:BIRTH_OF_THE_PC_OPERATING_SYSTEM_1974
Additional References:
- CP/M and Digital Research Inc. (DRI) Web pages
- Gary Kildall Special (Video)
- A Short History of CP/M
- Gordon Eubanks Oral History (Computerworld 2000)
Supporting Materials:
Numerous original documents, images, personal reminiscences, and videos contributed by employees are posted on the Digital Research Inc. page of the IT Corporate Histories Collection website hosted by the Computer History Museum at:
http://corphist.computerhistory.org/corphist/view.php?s=show&item=documents