On Fri, Jul 1, 2016 at 8:47 AM, William Cheswick <ches(a)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.