On Fri, Jul 1, 2016 at 8:47 AM, William Cheswick <ches@cheswick.com> wrote:

MS-DOS was a better choice at the time than Unix.
Mumble - the question is what is UNIX.  When comparing MS-DOS to UNIX, I'm talking about the kernel and the programming API.   Unix as a Kernel could be very small.​  You might not have had as many commands as we do today /{,usr}/*bin but it could and did fit.   We ran V7 off floppies on LSI-11s in those days.   It worked just fine.

 
It had to fit on floppies, and was very simple.
​UNIX could (and did) at the time --   by the time of the AT (which was when the PC's hockey stick curve took off) an 5.25" floppy had a capacity of 1.44M.  An RK05, the V6 and V7 standard,  was 2.5 M which is a 40% loss of space, but it was do-able.  We also know swapping would have been slower, but again, had been and was done.  I will say, I used to have an 8" floppy insides hanging over my desk at one point.  You see that there is no magnetic material left near the center -- where the i-list was.

 

“Unix is a system administrations nightmare” — dmr
+1 -- this would have been an issue, particularly pre-Goble work on getting the write ordering correct.  Halts and crashes trashed the FS and that was an issue!!​  But it was fixed when people cared, and I suspect if a Unix-ish system had been on the low end, it would have been addressed.


 

Actually, MS-DOS was a runtime system, not an operating system, despite the last two letters of its name.
​Amen​.  I use the words "executive."  Or as I have said, it was really agreement between applications programs on how modify the disk structures and what could be left in what places in main memory.  As Marc apply points out, applications >>had to<< by-pass MS-DOS because the HW was not very good and there really were not good services from the "OS" provided.


 
This is a term of art lost to antiquity.
​Amen -- sad and very important. ​


 
Run time systems offered a minimum of features: a loader, a file system, a crappy, built-in shell,
I/O for keyboards, tape, screens, crude memory management, etc.
And most importantly, were based around an agreement between programs, but that agreement had no way to be enforced.​  

 
No multiuser, no network stacks, no separate processes (mostly).
​Networking not so much.  You definitely could (and people did/do) add networking to executives.  In those days, DEC has DECnet for their systems (including MS-DOS) and today in the IoT world, I use many of my Arduino's with network connections.  But I the programing is very much like it was in my DOS-8/DOS-11/RT-11 days.

 
DEC had several (RT11, RSTS, RSX) and the line is perhaps a little fuzzy: they were getting operating-ish.
​Be careful here Ches.  RT-11 and DOS-11 meet your (and my definitions).   But RSTS and RSX were multi-users and ran (run) protected mode, have/had full networking stacks etc.  [There is even a lively network of historic DEC users that to this day have those systems running and available on the Internet and few member of which lurk and even sometimes comment on this mailing list].


 

It all had to fit on a floppy (do I remember correctly that the original floppyies, SSSD, were 90KB?), run
flight simulator and some business apps. 
​We ran V7 on 8" floppies (SA800's from Shugart Associates IIRC).  These were ~ 256K each.  You did have to swap disks in/out a little as Marc described.   You booted from one Floppy and replaced it with a "root" FS floppy after the OS loaded.   But it all could and did fit.  You had ad editor, the compilers, etc.      

That said, no graphics files or other stuff   Which as you point out was important.


 
MSDOS lasted a decade, and served the PC world well, for all its
​ ​
crapiness.
I basically agree.   Although I think it could have been a UNIX-like substance just as easily >>if<< people had cared.   They key point is that they did not:  MS-DOS was good enough for what the market needed, and it was not economically interesting to try supplant it.   The PC (together with MS-DOS) was a classic "Christensen​ style disruption" to the minicomputer industry.  As the good Professor points out, the PC was not as technically good as the technology it replaced, but it was served a new market that did not care and was good enough for it.    

 
Win 3.1 was an attempt at an OS, and Win 95 an actual one, with a network stack and everything.
Again - classic Christensen disruption.   The faster moving technology starts to catch up with the established one.​

So it all come back to my basic point.   The PC and MS-DOS >>could<< have been made to be in the image of UNIX easily; if people had cared or it was needed/desired.   But economics caused it to stay in "all its crapiness" not technology.