The Unix Heritage Society mailing list
 help / color / mirror / Atom feed
From: crossd@gmail.com (Dan Cross)
Subject: [TUHS] Algol68 vs. C at Bell Labs
Date: Thu, 30 Jun 2016 14:31:27 -0400	[thread overview]
Message-ID: <CAEoi9W57NN665z4d805WyURPB_q_N0F=2Ji2zaAx7yZxgu4WEg@mail.gmail.com> (raw)
In-Reply-To: <CAOkr1zVhGyN5oLOLFvx-5uxbiVOaYU-Vsav4uUnZ3Lyq1FPwuw@mail.gmail.com>

On Thu, Jun 30, 2016 at 1:57 PM, Marc Rochkind <rochkind at basepath.com>
wrote:

> Dan Cross: "... even if they didn't use Unix directly, it was an existence
> proof that such a thing was possible".
>
> Indeed it was. IBM contracted with Interactive Systems (Heinz Lycklama's
> company, in Santa Monica) to produce PC/IX, which was complete System 3 for
> the IBM PC. 8088, 4.77MHz, and 512K of RAM (if I'm remembering the numbers
> correctly). It was my primary development system for the first edition of
> Advanced UNIX Programming.
>
> As for why "IBM" didn't do something other than MS-DOS originally: It
> depends what you mean by "IBM". The PC was not originally strategic,
> although it might have become that way after a few years. It was just a
> small group in Boca Raton (as I recall) that whipped it out pretty quickly.
> MS-DOS was a good choice within the class of what then were known as
> personal computer operating systems (CP/M being the leader for 8080/Z80
> Intel systems).
>
> I don't think PC/IX would have run on a floppy-only system. And, if it
> would, it would have been a demonstration only--entirely impractical. IBM
> didn't provide a PC with a hard drive until later, and that's when PC/IX
> came along.
>
> Don't forget that the IBM PC completely dominated office use where
> personal computers were needed. A runaway success. That makes me think that
> the technical solutions were correct for what the project was supposed to
> achieve.
>
> When I tried to write responsive software for UNIX and UNIX-like OSes
> running on PCs, I could never achieve good results because the display
> support was inadequate. Typically, you treated the display like a terminal
> (escape sequences). MS-DOS allowed me to write to display memory directly,
> which what was made PC software so responsive.
>
> To say it another way, UNIX on a PC was always just a port. No
> consideration was given to providing support for the way PCs were actually
> used. That didn't happen until Xerox PARC started to produce PCs (at a much
> higher cost, of course). The first decent "PC" was the Macintosh SE. The
> earlier Macs were dogs.
>

Sorry, I don't think I was being clear in my earlier post. I get that IBM
(for the definition that is the group that built the PC) did not ship a
Unix port and frankly probably wouldn't have. But what irks me is that they
didn't produce an ersatz operating system that could support Unix-like
functionality: for example, support multiple processes, have a real
system-call interface, etc. In other words, why didn't they have a more
capable kernel than MS-DOS? Surely a motivated team could have produced a
floppy-only system capable of running multiple processes, etc. It wouldn't
be Unix, it wouldn't even necessarily be a clone of Unix, but it could have
been something better than MS-DOS.

My impression was that DOS programmers had to jump through a lot of hoops
due to the anemia of the "INT 21h" services, the memory model of the
8088/8086, and lack of a system-standard programming library: I suspect a
lot of them ended up using DOS as little more than a filesystem. Consider
the display issue you mention: as I understand it, programmers could
interact with the display adapter by simply reading and writing to
well-known addresses (did this require special IO instructions? I don't
believe so). Suppose instead that the OS provided a "system call" to "map"
the display memory into one's process and return a small structure
describing it (e.g., base pointer, rows, columns, a bitmap of capabilities
[color and so on]), or -1 on failure. If the mapping were successful, the
programmer could indirect through this pointer and treat the display as one
would in DOS (perhaps with a library to facilitate application
development). On the 8088 that wouldn't be protected, of course, so it
could be bypassed but the 80286 came along fairly shortly after and had an
on-chip MMU with protected mode. Again, it doesn't have to be Unix, but DOS
didn't really help the programmer a lot here as far as I can tell.

I'm not sure I would assert that their success was due to good technical
decisions; this was the era where IBM dominated business and as the saying
went, "no one ever got fired for buying IBM." The IBM brand added de facto
legitimacy to the personal computer in the workplace at a critical time
when it was just starting to make inroads into business: surely their
success had a lot more to do with that than choosing to use the 8088 and
DOS? The VHS vs. Betamax argument may apply here.

        - Dan C.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://minnie.tuhs.org/pipermail/tuhs/attachments/20160630/a0d66b45/attachment-0001.html>


  reply	other threads:[~2016-06-30 18:31 UTC|newest]

Thread overview: 77+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-06-29 15:17 scj
2016-06-30  5:06 ` Dave Horsfall
2016-06-30  5:08 ` John Cowan
2016-06-30 11:18 ` arnold
2016-06-30 11:45   ` arnold
2016-06-30 13:22 ` Clem Cole
2016-06-30 14:05   ` Marc Rochkind
2016-06-30 14:33     ` William Cheswick
2016-06-30 14:43       ` Ronald Natalie
2016-06-30 14:57       ` Joerg Schilling
2016-06-30 15:07         ` Ori Idan
2016-06-30 23:07           ` Dave Horsfall
2016-07-01  3:27           ` Jesus Cea
2016-06-30 15:32     ` Dan Cross
2016-06-30 15:49       ` Larry McVoy
2016-06-30 16:32         ` Clem Cole
2016-07-04  5:08         ` [TUHS] OS for IBM PC (was: Algol68 vs. C at Bell Labs) Greg 'groggy' Lehey
2016-06-30 17:07       ` [TUHS] Algol68 vs. C at Bell Labs John Cowan
2016-06-30 17:57         ` Marc Rochkind
2016-06-30 18:31           ` Dan Cross [this message]
2016-06-30 19:21             ` Clem Cole
2016-06-30 19:51               ` Dan Cross
2016-06-30 19:55                 ` Clem Cole
2016-06-30 20:04                   ` Dan Cross
2016-06-30 18:26         ` Steve Nickolas
2016-06-30 19:21       ` Diomidis Spinellis
2016-06-30 19:43         ` Dan Cross
2016-06-30 19:53           ` Clem Cole
2016-06-30 19:47         ` Clem Cole
2016-06-30 20:57         ` Nemo
2016-06-30 23:11           ` Random832
2016-06-30 23:16           ` Marc Rochkind
2016-06-30 23:38             ` Random832
2016-07-01  0:38             ` Clem Cole
2016-07-01  1:21               ` Marc Rochkind
2016-07-01  1:34               ` John Cowan
2016-07-04 19:23                 ` Dave Horsfall
2016-07-04 19:56                   ` Ronald Natalie
2016-07-01  2:35               ` Nemo
2016-07-01  3:01                 ` Kurt H Maier
2016-07-01  3:52               ` Lyndon Nerenberg
2016-07-01 12:47                 ` [TUHS] MS-DOS William Cheswick
2016-07-01 13:43                   ` Marc Rochkind
2016-07-01 21:58                     ` John Cowan
2016-07-01 22:27                       ` Jacob Ritorto
2016-07-01 22:54                         ` Jacob Goense
2016-07-01 23:44                         ` John Cowan
2016-07-02  0:08                           ` Steve Nickolas
2016-07-02  1:09                           ` Kurt H Maier
2016-07-02  2:59                         ` Dave Horsfall
2016-07-02  3:27                         ` Greg 'groggy' Lehey
2016-07-02 23:21                           ` Dave Horsfall
2016-07-01 23:49                     ` Dave Horsfall
2016-07-02  1:12                       ` Steve Nickolas
2016-07-02  4:37                       ` SZIGETI Szabolcs
2016-07-02  9:53                         ` Brantley Coile
2016-07-01 13:47                   ` Clem Cole
2016-07-01 15:13                     ` Steve Nickolas
2016-07-02 15:25                       ` Ronald Natalie
2016-07-02 15:32                         ` Steve Nickolas
2016-07-02 19:46                           ` Nemo
2016-07-03  1:18                             ` Steve Nickolas
2016-07-03 13:33                               ` Nemo
2016-07-01 17:39                     ` John Cowan
2016-07-02 15:17                       ` Ronald Natalie
2016-07-03 22:07                   ` Derek Fawcus
2016-07-02 23:32         ` [TUHS] Algol68 vs. C at Bell Labs Peter Jeremy
2016-06-30 15:52     ` Joerg Schilling
2016-06-30 20:47     ` Lawrence Stewart
     [not found] <mailman.19.1467287486.30583.tuhs@minnie.tuhs.org>
2016-06-30 13:15 ` David
2016-06-30 13:18   ` William Cheswick
2016-06-30 13:39     ` Clem Cole
2016-06-30 13:44 Noel Chiappa
2016-06-30 14:28 ` William Cheswick
2016-06-30 19:23 ` John Cowan
2016-06-30 17:17 Nelson H. F. Beebe
2016-07-01  9:32 ` Brantley Coile

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CAEoi9W57NN665z4d805WyURPB_q_N0F=2Ji2zaAx7yZxgu4WEg@mail.gmail.com' \
    --to=crossd@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).