This is almost correct, but MS-DOS derives from the DEC small systems line (the PDP-8 and PDP-11), not the large systems line that ran TENEX, which took the name "TOPS-10" in the DEC Witness Protection Program (the PDP-6 and PDP-10). TENEX's only real descendant in modern computing systems is the command-line editing (and filename completion?) in bash and zsh.
Much to my surprise, it seems to be true that CP/M did not actually use / for flags, even in PIP, although other incarnations of PIP (like that in Heath's HDOS) did use /. The CP/M 2.2 manual is at http://www.cpm.z80.de/manuals/cpm22-m.pdf and documents the command lines of all the standard utilities, including the assembler, PIP, and the text editor. (It also, in passing, documents the full 8080 instruction set and OS API.)
TENEX was born in 1969 but grew up in the 1970s, but the use of / for switches in DEC-land predates it; https://en.wikipedia.org/wiki/Concise_Command_Language is somewhat confused, but it currently describes how the PDP-6 monitor program used / for switches in, presumably, 1964.
DEC operating systems like the ones CP/M aped used / liberally for switches, and third-party programs we used on CP/M certainly did use / for switches. This was not limited to the PDP-10 large systems operating systems; it was also true on OS/8 for the PDP-8, as described in https://www.pdp8.net/os/os8/index.shtml (though, as you can see, some commands used - instead, like the later Unix). The PDP-8 shipped in 1965, but OS/8 might be more recent than that.
You've conflated TOPS-10 and TOPS-20. TENEX was developed externally by BBN, took advantage of BBN-built add-on paging hardware, and was quite different in both look and feel and its internals from TOPS-10, which had originated on the PDP-6 and was simply called "Monitor" at first. The name TEN-EX referred to its ability to run TOPS-10 executables in compatibility mode, as BSD variants could once run Linux executables. When TENEX was brought in-house by DEC, it was renamed "TOPS-20", since the Monitor had already been renamed "TOPS-10". The only difference between the PDP-10 (or DECsystem-10) and the DECsystem-20 computers was the color scheme and the OS supplied with it.
The author argues that the people at Microsoft were very familiar with TOPS-10 (which is not TENEX btw) and in any case the PDP-8 and -11 OSes would have been inspired by TOPS-10, so you're back to TOPS-10 again.
Well, it's certainly true that Gates and Allen developed Altair BASIC on a PDP-10 (under which operating system I don't know, but it could have been TOPS-10, and you are right that TOPS-10 is not a version of TENEX), but they didn't write MS-DOS; Tim Patterson, at Seattle Computer Products, did. And it's a straight copy of CP/M, not of TOPS-10. (Nor of TENEX.) Later development of MS-DOS happened at Microsoft, but I don't think Gates and Allen wrote any code for it; the last product Gates wrote code for was the BASIC interpreter for the TRS-80 Model 100, which shipped in 1983.
I don't think it's accurate to say, "the PDP-8 and -11 OSes would have been inspired by TOPS-10," except in the sense that they were also inspired by the IBM 360 and other systems — ideas did cross-pollinate, of course, but circumstances conspired to prevent especially strong cross-pollination in this case. The PDP-8 predates TOPS-10 by two years, so there is a substantial amount of software for the PDP-8 that could not have been inspired by TOPS-10 — including, I think, early versions of OS/8 — and RT-11 and RSX-11 followed OS/8 rather closely, especially at first. And, as I understand it, inside DEC, the small-systems folks (the PDP-7, -8, and -11) were organizationally separate from the large-systems folks (the -6 and -10), I think in geographically separate locations.
The PDP-6 Monitor came out in 1964 and TOPS-10 was its lineal descendant (the result of progressively modifying the codebase to support different PDP-10 models), whereas the first PDP-8 model came out in 1965. OS/8 first appeared in 1971; I haven't been able to determine when its direct ancestor PS/8 was released. I ran some PS/8 programs under OS/8 V1, but I never ran PS/8 itself.
I appreciate the correction. Do you mean it was the first in the sense that "TOPS-10" was the new name for the PDP-6 monitor program as it was developed moving forward, and that all the PDP-7 and PDP-8 operating systems came long after the -6, or more literally that TOPS-10 itself is where the inspiration for OS/8 came from? Or do you not consider OS/8 an OS?
I have to say I'm not an expert on the DEC OSes, so I won't pretend to know the exact timeline, but the PDP-6 was not a very popular machine, only 23 or so sold. So I would assume it's really PDP-10 TOPS-10 that was the inspiration. OS/8 itself is from 1971 according to wikipedia, but its predecessor is PS/8. And that same article mentions how the interface was patterned after TOPS-10.
Talked to a friend of mine who spent a lot of time on PDP-8s at the time, and basically it seems like I was full of shit, and TOPS-10 really was the origin of all this stuff. More details to come.
My friend John Cowan (also known by his hacker name "John Cowan") explains:
Most basic PDP-8 software was written on '10s using a cross assembler, including the various compilers and interpreters meant for PDP-8 users (Basic, Focal, Fortran II and IV), and OS/8 was made to look much like TOPS-10 externally, though they had nothing in common internally. A line can be traced from TOPS-10 to OS/8 to RT-11 to CP/M to DOS to Windows command lines.
There were some nice features I still miss in OS/8, like the COMPILE command, which would accept a number of source files, figure out from their extensions what language they were, and run the appropriate toolchain (it was normal for each language to have its own assembler and loader).
So basically I was full of shit and TOPS-10 really is the origin. Thanks for the correction, John!
Much to my surprise, it seems to be true that CP/M did not actually use / for flags, even in PIP, although other incarnations of PIP (like that in Heath's HDOS) did use /. The CP/M 2.2 manual is at http://www.cpm.z80.de/manuals/cpm22-m.pdf and documents the command lines of all the standard utilities, including the assembler, PIP, and the text editor. (It also, in passing, documents the full 8080 instruction set and OS API.)
TENEX was born in 1969 but grew up in the 1970s, but the use of / for switches in DEC-land predates it; https://en.wikipedia.org/wiki/Concise_Command_Language is somewhat confused, but it currently describes how the PDP-6 monitor program used / for switches in, presumably, 1964.
DEC operating systems like the ones CP/M aped used / liberally for switches, and third-party programs we used on CP/M certainly did use / for switches. This was not limited to the PDP-10 large systems operating systems; it was also true on OS/8 for the PDP-8, as described in https://www.pdp8.net/os/os8/index.shtml (though, as you can see, some commands used - instead, like the later Unix). The PDP-8 shipped in 1965, but OS/8 might be more recent than that.