05/12/2021

046 – Operating system for MPUs – 1975

Forward to PC Moments 047
Back to PC Moments 045 – Back to PC Moments Index
Back to Anecdotes

Ask Bill [Gates] why the string in [MS-DOS] function 9 is terminated by a dollar sign.  Ask him, because he can’t answer. Only I know that.  Gary Kildall

Gary Kildall worked to enable microprocessors take on the attributes of a full-featured computer.  He developed one of the earliest and widely adopted PC operating systems.

Drafted into the US Navy, he was posted to its Naval Postgraduate School, a short drive from Silicon Valley.  He caught the ‘bug’, buying an early 4004 MPU.  He was assisted in learning how to program working as a consultant at Intel.

After national service his doctorate in computer science developed data-flow analysis, a process that gathered likely values to be calculated at various stages of a program.  Armed with this ’scoping’ the compiler could then readily maximise a program.

Kildall then designed software to control floppy disk drives.  In 1972 Intel loaned him 8008 and 8080 systems and he developed one of the first high-level programming languages for use with Intel MPUs; this was PL/M, programming language for microcomputers.  PL/M drew upon other languages, including Algol and XPL, but was optimised for the MPU.  It could address any location in its memory, any input-output location and processor interrupt flags.

Kildall formed his own operation with the grandiose name of Intergalactic Digital Research, later simplified to DRI, Digital Research Inc.

1973/4 Kildall adapted his software to use Shugart floppy-disk drives.  This updated software became control program monitor,  CP/M. During trademarking this changed to ‘control program for microcomputers’.  CP/M was developed on a DEC mainframe and was heavily influenced by DEC’s TOPS-10 OS. Originally written for a single-user 8-bit MPU, when combined with an S-100 bus rapidly it became the de facto standard for many early PC and software developers. 

DRI needed to accommodate CP/M for an array of freshly released PC systems and Kildall developed a simple and effective approach.  He placed much of the specifics of CP/M into a segment named the basic disk operating system, BDOS; this managed CP/M files.

The other basic building block of CP/M was BIOS, basic input/output system.  BIOS provided the vital connection between the software and the specifics of the host hardware.  It was thus an interpreter between CP/M and its host PC ensuring software could recognise individual keyboard key-strokes, enable the writing/reading of floppy disk sectors, the buffering of data…

BIOS promptly became a fixture on all PCs that followed.  It was instantly adopted for example by IBM when it entered the fray.

DRI enabled software authors to produce a program that was transportable across a whole range of microprocessors and PCs.  Authors realised if they wrote in CP/M this would open up a much bigger market potential than writing in any machine-specific OS.  PC system builders avoided the time and cost of developing their own OS; by adopting CP/M they accessed existing software programs.

CP/M was selected by two of the most significant early applications – WordStar word processing and dBASE database management.  Later versions of VisiCalc also ran in CP/M.

1978 Bill Gates and Gary Kildall discussed the potential for a merger of Microsoft and DRI, a coming together of languages and operating systems, but they could not reach an agreement.

CP/M was implemented on around 500,000 PCs by 1978 and by 1981 had clocked up over 3,000 different platforms.  DRI’s concentration on 8-bit processors meant it was slow to develop a 16-bit version, and this would soon prove significant.

Forward to PC Moments 047
Back to PC Moments 045 – Back to PC Moments Index
Back to Anecdotes

Leave a Reply

Your email address will not be published. Required fields are marked *