> From: Norman Wilson
> I have to disagree in part
You make a number of good points. A few comments:
> the PDP-11 is a big part of what made UNIX so widespread, especially in
> university departments
That last part was really a big factor, one not to be understated. That
penetration led to production of a whole generation of people who i) were
familiar with Unix, and ii) liked it, and were not about to put up with the
OS's being turned out by various vendors.
> I too suspect that a majority (though I'm not so sure about `vast') of
> PDP-11s never ran UNIX.
'Embedded systems'. The number of PDP-11's running timesharing was a small
share of the total number, I expect.
> I don't think those who weren't around in the latter 1970s and early
> 1980s can appreciate the ways in which UNIX captured many programmers
> ... as no other competing system could.
Very true. My jaw basically hit the floor when I first saw (ca. '75) what Unix
was like. People who didn't live through that transition can't _really_ grok
it, any more than my kids can really fully grok a world without mobile
phones. It wasn't as powerful as Multics, but I was completely blown away that
anyone could get that much capability into a PDP-11 OS.
Noel
>> It seems though that there should have been a PDP-11 based desktop
> Because DEC were a bunch of losers.
OK, that was kind of harsh. (Trying to send email too fast...) DEC had a lot
of really brilliant people, and they produced some awesome machines.
But when it comes to desktops, I think there is a certain amount of
bottom-line truth in that assessment: there was a huge market there
(obviously), and DEC should have been in a pretty good place to capture it,
but it completely failed to do so.
Why not? I put it down to corporate cultural intertia - ironically, the same
thing that allowed DEC to eat so much of IBM's lunch.
Just as IBM took way too long to understand that there was a very large
ecological niche for smaller machines _with customers who didn't want or need
the whole IBM hand-holding routine_, DEC never (or, at least, until way too
late to catch the wave) could change their mentality from producing really,
really well built computers for people who were all technical, to commodity
computers which needed to be made as absolutely cheaply as possible, and for
people who were non-technical.
The company as a whole just couldn't change its mindset that radically, that
quickly. (And a lot of the blame for that has to go to Ken Olsen, of course.
He just didn't grok how the world was changing.)
> There's some DEC history book which talks about DEC's multiple failures
> (on a variety of platforms, not just PDP-11 based ones) to get into the
> desktop market, if the title comes to me, I'll post it.
The best one on this topis, probably, is "Ultimate Entrepreneur", by Glenn
Rifkin and George Harrar, which gives a lot of detail on DEC's attempts to
build personal computers; also good is "DEC is Dead, Long Live DEC", by Edgar
Schein.
Noel
Clem Cole:
Also by the time DEC did try to build a workstation (after Masscomp,
Apollo, Sun et al had taken many of their engineers) it was too little too
late. The ship had sailed and they never recovered that market.
======
There was a window in the early 1990s when I think they could
have recovered. DEC had some pretty good MIPS-based workstations,
and Alpha was just coming out and was even better. Ultrix was
a good, solid system, and DEC OSF/1 (later Digital UNIX) was
getting there.
In 1994 or so, the group I worked in needed a new workgroup-sized
central server. Our existing stuff was mostly DECstations running
Ultrix (with a few SGI IRIX systems for specialized graphics).
We looked at the price and performance of various options:
everything SGI had was too pricey; Sun's was well behind in
performance (this was before UltraSPARC), and their OS was
primitive and required a lot of retrofitting to be usable
(this was also before Solaris 2 even came out, let alone
became stable; also before Sun grew up enough to ship a
decent X11 as part of the system).
So we bought a third-party system with an Alpha motherboard
in a PC-style case. In burn-in testing I discovered a bug in
the motherboard; the vendor were happy to fix it once they
could reproduce it in their lab (which took some doing, but
that was another story).
We were quite happy with that system, and would have bought
more had our entire department not been shut down in a
mostly-political fuss a couple of years later (that too is
another story).
DEC's desktop MIPS systems were quite good, and the Alpha
followons even better. Had the company's upper management
not by then lost all sense of how to run a company or to
sell anything ... but that was not to be.
Old-fart footnote: when our department shut down, I bought
some of our DECstations cheap from the university. I still
have them on a shelf downstairs; I've never done much with
them.
Norman Wilson
Toronto ON
> The later M9301 (see disassembly of the contents here:
> http://ana-3.lcs.mit.edu/~jnc/tech/pdp11/M9301-YA.mac
> of one variant) didn't clear memory either
OK, so _my_ memory is failing! That code does in fact test the memory.
(Although, looking at it, I can't understand how it works; after writing the
contents of R3 into the memory section it it asked to test, it complements the
test value in R3, before comparing it with the memory it just wrote with R3,
to make sure they are the same. Maybe there's an error in the dis-assembly?)
Anyway, it should have left the memory mostly containing all 0's.
Noel
On 2016-01-24 19:01, Mark Longridge<cubexyz(a)gmail.com> wrote:
> Ok, I got a few questions about PDP-11.
>
> First, I was wondering when Bell Labs got that first PDP-11/20 what
> software (if any) came with it? I assume when one bought a PDP-11/20
> you would get some type of OS with it.
No. You might get diagnostics, but any kind of OS you would have to buy
separately, and there were several to choose from, depending on your needs.
> According to the folks at alt.sys.pdp11 the PDP-11 computer doesn't
> have anything equivalent to a PC's BIOS. But I know a bit about what a
> PC's BIOS does and that includes RAM Initialization. Wouldn't the DRAM
> on the PDP-11/something need to be initialized too? Perhaps an older
> PDP-11 doesn't have DRAM but surely the later models did?
RAM don't need to be initialized. Maybe you mean clearing it, so it
don't contain random information?
ECC memory, on the other hand needs to be initialized, but for those
PDP-11s who has that, the initialization is done in hardware.
> Now the last question has to do with what made the PDP-11 architecture
> so great. Part of that had to be the relatively affordablility of the
> PDP-11 and of course it was the machine that made Unix possible. It
> seems though that there should have been a PDP-11 based desktop and as
> far as I can tell that didn't happen. Instead we got a bunch of micros
> with 8080, z80 and 6502 cpus, but nothing that could run Unix, at
> least not a Unix v7 with source code.
The architecture is very easy to program on, and rather intuitive. You
have general registers, an orthogonal instruction set, and the machine
can be programmed as a stack based, a register based, or just plain
memory-to-memory style equally well.
In addition, I/O is pretty simple, as there are no special I/O
instructions. Same instructions as for anything else are also used for I/O.
Also, the memory model on the PDP-11 is pretty nice, with a proper MMU
which allows you to write reasonable OSes.
There were in fact desktop based PDP-11s, but DEC shot themselves in the
foot there. They were afraid of eating into their own business, so they
made the desktop PDP-11 incompatible in some ways with all other
PDP-11s, so you could in general not run much PDP-11 software on the
desktop, but had to develop specific programs for that platform. That,
and the fact that it took DEC too long to enter the market, meant that
the IBM PC had already become the standard by the time DEC came with the
Professional (the PDP-11 desktop).
DEC also made a couple of other PDP-11 based systems that were sortof
desktop, such as the VT-103, which was a VT100 with a PDP-11 inside.
Interesting idea, but the VT103 didn't have good mass storage, and had a
very slow and limited PDP-11 CPU. The PDT-11 was another attempt, with
similar issues as the VT-103.
If we were to examine prototype things, DEC did a lot more as well,
including a portable PDP-11 with an LCD display. Never became a product.
Johnny
--
Johnny Billquist || "I'm on a bus
|| on a psychedelic trip
email: bqt(a)softjar.se || Reading murder books
pdp is alive! || tryin' to stay hip" - B. Idol
> From: Mark Longridge
> when Bell Labs got that first PDP-11/20 what software (if any) came
> with it?
I have this bit set that they didn't get anything, they wrote a
cross-assembler on another machine. I know that when it came, it didn't have a
disk (wasn't ready yet), so it ran a chess problem (memory only) for quite a
while until the disk came. I think that's in the ACM paper, or if not, one of
the BSTJ Unix history papers.
> Perhaps an older PDP-11 doesn't have DRAM but surely the later models
> did?
MOS memory came in starting roughly around the time of the 11/04 and /34.
(Well, that's not quire right - there were bipolar and MOS memory options
for the 11/45, the second PDP-11 model, but they were kind of special.)
But the earliest ROM bootstraps were too small to have space for code to
clear memory, or anything like that. The diode-array BM792 ROM certainly
didn't.
The later M9301 (see disassembly of the contents here:
http://ana-3.lcs.mit.edu/~jnc/tech/pdp11/M9301-YA.mac
of one variant) didn't clear memory either, although there was probably room
in the ROMs by that point.
I suspect it didn't because nobody bothered with stuff like that back then -
you just wrote over whatever was already there. Properly written code would
never have referenced a location which had not been loaded or written to, that
way you couldn't get a parity error from random gubbish in semi-conductor at
power up (and of course core always had old data in it).
> Now the last question has to do with what made the PDP-11 architecture
> so great.
Bang/buck (in the metaphorical sense) ratio.
For a machine with a 16-bit word size (i.e. limited instruction size), it had
remarkable programming capability. Data could be in registers, pushed or
popped with a stack, at fixed addresses, PC-relative, indexed into a table,
etc, etc. And _all_ the instructions (basically) had acceess to _all_ those
modes.
As a result, the code density was probably higher than any similar sized
machine, and back when memory was core (i.e. expensive/limited), code density
was important.
The bus was also extremely flexible, given how simple it was: memory and
devices were all on the same (simple) bus.
> of course it was the machine that made Unix possible
I'd lay good money that the vast majority of PDP-11's never ran Unix. And
UNIX might have happened on some other machine - it's not crucially tied to
the PDP-11 - in fact, the ease with which it could be used on other machines
was a huge part of its eventual success.
> It seems though that there should have been a PDP-11 based desktop and
> as far as I can tell that didn't happen.
Because DEC were a bunch of losers. There's some DEC history book which talks
about DEC's multiple failures (on a variety of platforms, not just PDP-11
based ones) to get into the desktop market, if the title comes to me, I'll
post it.
Noel
---------- Forwarded message ----------
From: Clem Cole <clemc(a)ccc.com>
Date: Sat, Jan 23, 2016 at 3:00 PM
Subject: Re: [TUHS] Missing Documents for use with the Unix Time-Sharing
System, Sixth Edition
To: Will Senn <will.senn(a)gmail.com>
below....
On Sat, Jan 23, 2016 at 12:58 PM, Will Senn <will.senn(a)gmail.com> wrote:
> All,
>
> The Unix Sixth edition programmer's manual and other documents for use
> with Unix time-sharing system are available online, in html and postscript
> form from Wolfgang Helbig's site:
>
> http://wwwlehre.dhbw-stuttgart.de/~helbig/os/v6/doc/index.html
>
> There are papers some missing from the "Documents for use with the Unix
> Time-Sharing System":
>
Hmm - these should be with the v6 distribution - some of them are coming
with later editions... and except for updates to said system will be go'nuf
That said you are asking about the versions from v6. I do not seem to
have hardcopies easy to find. I'll keep looking there is some stuff in my
attic.
> RATFOR - A Preprocessor for Rational Fortran
> NROFF User's Manual
> A Manual for Tmg Compiler-writing Language
>
This is the doc that you might not find in other places, as I think tmg
stopped being distributed at some point. Doug as one of the authors I
believe may know the story.
> On the Security of UNIX
> The M6 Macro Processor
>
I think you mean m4 not m6
> A System for Typesetting Mathematics
> DC - An Interactive Desk Calculator
> BC - An Arbitrary Precision Desk-Calculator Language
> The Portable C Library (on UNIX)
> UNIX Summary
>
> Some of these are more interesting to me than others, but I tend towards
> shiny objects, so there is no telling when they will be of critical
> interest in the future. I have done quite a bit of searching for the NROFF
> document and the portable C library document and while I have found related
> works, I haven't come across the originals for sixth edition. Do any of
> y'all know where any or all of these documents are archived in their
> original/reproduced form?
Warren's V6 seems have many of them in:
http://www.tuhs.org/Archive/PDP-11/Distributions/research/Dennis_v6/v6doc.t…
> From: Will Senn
> I have cdb .. How do I exit it. %, CTRL-C, CTRL-D, CTRL-Z, Break,
> CTRL-Break, and so on just result in a ? being displayed.
CTL-D (EOF on input) works for me? Or maybe the version I have (it was a
binary only that came off the Shoppa disks, IIRC) is slightly different from
the one you have, and that only works in this version (which has a number of
extensions).
I don't think I ever found any other way to exit it. Although looking at the
code, it seems like probably the only way is to generate a 'quit with core
dump' interrupt - I forget what character that is in standard V6.
Noel
All,
The Unix Sixth edition programmer's manual and other documents for use
with Unix time-sharing system are available online, in html and
postscript form from Wolfgang Helbig's site:
http://wwwlehre.dhbw-stuttgart.de/~helbig/os/v6/doc/index.html
There are papers some missing from the "Documents for use with the Unix
Time-Sharing System":
RATFOR - A Preprocessor for Rational Fortran
NROFF User's Manual
A Manual for Tmg Compiler-writing Language
On the Security of UNIX
The M6 Macro Processor
A System for Typesetting Mathematics
DC - An Interactive Desk Calculator
BC - An Arbitrary Precision Desk-Calculator Language
The Portable C Library (on UNIX)
UNIX Summary
Some of these are more interesting to me than others, but I tend towards
shiny objects, so there is no telling when they will be of critical
interest in the future. I have done quite a bit of searching for the
NROFF document and the portable C library document and while I have
found related works, I haven't come across the originals for sixth
edition. Do any of y'all know where any or all of these documents are
archived in their original/reproduced form?
Regards,
Will