The origin of CP/M's name (original) (raw)

Back to index page.

1973-

Di Emmanuel ROCHE

Success! At last!!!

While reading the 1973 "Guide to PL/M programming" (dealing with the Intel 8008 version of PL/M), I finally found mention of one of the only Operating System names having ever started with "CP/". As previously published in the comp.os.cpm Newsgroup, I already knew that CP/M's commands were patterned after the commands used on the DECsystem-10 (also known as "PDP-10"), that was used inside Intel, but from where was coming the name "CP/M" itself? Personally, I never saw any mentions of any explanation of its name's origin. Since I started programming doing COBOL on IBM mainframes, I knew that one of their Operating System was named "CP/67". I also knew, from one of the papers of Gary Kildall, that he was thanking "the operators of the S/360 at the Naval Postgraduate School, of Monterey, Californa". But the S/360 was THE IBM Mainframe. Everything was tried with it. The hardware was not the problem: the problem was the name of the Operating System that the NPS was using when Gary Kildall was teaching Computer Science (in particular: compilers) in 1972. So, imagine my joy when I finally found the following "Figure" in the 1973 "Guide to PL/M Programming" pg 56

   Pass-1 file definitions
   -----------------------
   
                            PDP-10
            Input                           Output

    Num     Device  Unit            Num     Device  Unit
    ---     ------  ----            ---     ------  ----
     1      TTY       5              1      TTY       5
     2      CDR       2              2      PTR       3
     3      PAP       6              3      PAP       7
     4      MAG      16              4      MAG      17
     5      DEC       9              5      DEC      10
     6      DISK     20              6      DISK     22
     7      DISK     21              7      DISK     23

                     IBM S/360 (CP/CMS)
            Input                           Output

    Num     Device  Unit            Num     Device  Unit
    ---     ------  ----            ---     ------  ----
     1      TTY 80    5              1      TTY 120   5
     2      CDR 80   10              2      PTR 133   3
     3      TAP 80   11              3      PUN 80    7
     4      TAP 140   9              4      TAP 133  12
     5      DSK 80-L0 13             5      DSK 80-L0 13
     6      DSK 80    1              6      DSK 80    3
     7      DSK 80    2              7      DSK 80    4


    Pass-2 file definitions
    -----------------------

                            PDP-10
            Input                           Output

    Num     Device  Unit            Num     Device  Unit
    ---     ------  ----            ---     ------  ----
     1      TTY       5              1      TTY       5
     2      CDR       2              2      PTR       3
     3      PAP       6              3      PAP       7
     4      MAG      16              4      MAG      17
     5      DEC       9              5      DEC      10
     6      DISK     22              6      DISK     20
     7      DISK     23              7      DISK     21

                     IBM S/360 (CP/CMS)
            Input                           Output

    Num     Device  Unit            Num     Device  Unit
    ---     ------  ----            ---     ------  ----
     1      TTY 80    5              1      TTY 120   6
     2      CDR 80   10              2      PTR 133   8
     3      TAP 80   11              3      PUN 80    7
     4      TAP 140   9              4      TAP 133  12
     5      DSK 80-L0 13             5      DSK 80-L0 13
     6      DSK 80    3              6      DSK 80    1
     7      DSK 80    4              7      DSK 80    2

    All input records are 80 characters or less.
    All output records are 120 characters or less.
    The FORTRAN unit numbers can be changed in the
    subroutines GNC and WRITEL. (These are the only
    occurrences of references to these units.)

    Figure IV-3. PDP-10 and IBM System/360 real device assignment.

And, page 61, you can find the following sentence: "The particular example shown in Figure IV-6 resulted from execution of PLM1 on an IBM System/360 under the CP/CMS time-sharing system, using a 2741 console."

Conclusion

I can therefore affirm that the name CP/M is coming from the CP/CMS Operating System used on the IBM System/360 used at the Naval Postgraduate School of Monterey, California, in 1972, when Gary Kildall was writing the PL/M compiler to program the Intel 8008 CPU, which led him to write the Disk Operating System known as CP/M (that MS-DOS copied) (that was patterned after the commands of the Operating System of the DECsystem-10 used inside Intel), in order to have a resident DOS under which to run PL/M on one Intel MCS-8 computer system.

(As far as I know, the first microcomputer in the world to run under a DOS was one Intel MCS-80 with one ASR-33 Teletype used as the console and the way to load the DOS from paper tape. Unfortunately, I don't know the date.) (The drive was a 8" Shugart.)

The rest is history...


And CP/CMS stands for Control Program/Cambridge Monitor System, the first "virtual machine" OS to go "prime time", and was written not by the product OS people, but by the research laboratory!

It was a _usable_ timesharing system, as opposed to IBM's _real_ product timsharing system, TSS, which was a real bear to configure and to use. Many universities switched to CMS as soon as it was available to escape the inefficiency and misery of TSS.

CP, for Control Program, is pretty obvious to many people who create OSs. Burroughs had the MCP (Master Control Program), for example. It's like using "Book" for the title of a book, or PL/foo for a Programming Language. Not very creative, but generically accurate. ;-)

-michael


(As far as I know, the first microcomputer in the world to run under a DOS was one Intel MCS-80 with one ASR-33 Teletype used as the console and the way to load the DOS from paper tape. Unfortunately, I don't know the date.) (The drive was a 8" Shugart.)

This may be true. But you must bear in mind that CP/M didn't start out as a DOS ..... it started out diskless.

No disk, no 'D', just an OS.

And, the original seminal ideas seem to have been tried on 4004 and 8008 cpu's, also. Hope this stuff is saved, somewhere ........

Kildall credits Tom Pittman with being the ''first personal computer developer and user'' - because Tom put together a 4004 based machine he could carry around.

Bill

Find all about
cp m
at Wikiverse
Find all about cp m