All,
My IEEE Spectrum article finally got published and you can read it
on-line here: http://spectrum.ieee.org/computing/software/the-strange-birth-and-long-life…
I've had a few e-mails about it. This one has a few more snippets about
early Unix history (from Rey Bonachea):
It was with great pleasure and a bit of nostalgia that I read your IEEE
article below. Thank you very much for writing it. One aspect that did
not get mention, and that perhaps you may or may not be aware of, was
the pseudo real time applications of Unix.
In 1972 I joined Bell Labs in Holmdel NJ working on a project by the name
of Switching Control Center System. At the beginning I was just a brand
new member of the technical staff working on circuit design for
interfaces to the PDP11/20. This project was meant to centralize the data
streams from the maintenance channel of switching machine. Then, in a
multi-user environment , would analyze the incoming data streams and raise
alarms as appropriate. It also provided a whole suite of analysis tools to
allow switch maintenance personnel to trouble shoot the electronic
switches.
Because the switches could not buffer messages or be slowed by flow
control, the Unix system had to catch messages in real time and put it
away on disk for later analysis. Due to the near real time requirements, a
number of features were added to Unix such as semaphores. The Unix based
Switching Control Center System (SCCS) software was trialed in New
Brunswick NJ in 1973 and later that year was released as the first
commercial application of the Unix OS.
I learned to program on that PDP 11/20 computer running Unix and
eventually wrote many applications for the SCCS, initially in assembly
language and then in C as we were also the first project to use C
commercially.
Cheers,
Warren
Hi,
In memoriam, I read The Development of the C Language:
http://cm.bell-labs.com/who/dmr/chist.html
It talks a bit about how B was originally implemented somewhat like
ETH Pascal (p-code). Are there any B interpreters or programs in the
archive?
Thank you,
A. P. Garcia
Yep, dungeon runs great on RT-11 ... I've docuemnted the experence here...
http://virtuallyfun.superglobalmegacorp.com/?p=169
Building the fortran compiler was... an adventure onto its own, but luckily
I found some documentation @ bitsavers, and could ask on the PDP11 lists for
help... I'm amazed it compiled and runs! ..
Oh and TripOS is the BCPL based OS that ran on all kinds of machines, it was
very portable, the best known port would be AmigaDOS for the Commodore
Amiga. I wonder if it was licensing fees and BCPL/TripOS being based in the
UK what seperated them from C/Unix... I guess we'd be living in the B++, B#
and ObjectiveB world if it wasn't for DMR's wonderful world of C .. :)
-----Original Message-----
From: Gregg Levine [mailto:gregg.drwho8@gmail.com]
Sent: Saturday, October 15, 2011 12:37 AM
To: tuhs(a)minnie.tuhs.org
Cc: Jason Stevens
Subject: Re: [TUHS] b remnants?
On Sat, Oct 15, 2011 at 12:20 AM, Jason Stevens
<jsteve(a)superglobalmegacorp.com> wrote:
> Wasn't the other 'advantage' of threaded/pcode that it'd be smaller than a
> native executable?
>
> I know it's out of left field, but building Dungeon on RT-11, you have to
> use the treaded compiler, and I assume it was a space thing.. Just as on
> MS-DOS (Yeah I know...) a save for fitting stuff in 64kb for the later
> compilers was to compile to p-code..
>
> Wikipedia gives p-code for Pascal a timeframe of the 'early 70's and
> attribes the whole interpeted code as O-Code for BCPL ....
>
> I wonder if anyone ever did save any TripOS tapes for the PDP-11.....
>
> -----Original Message-----
> From: A. P. Garcia [mailto:a.phillip.garcia@gmail.com]
> Sent: Friday, October 14, 2011 11:58 PM
> To: tuhs(a)minnie.tuhs.org
> Subject: Re: [TUHS] b remnants?
>
>
> On Fri, Oct 14, 2011 at 9:52 AM, A. P. Garcia
> <a.phillip.garcia(a)gmail.com> wrote:
>>
>> In memoriam, I read The Development of the C Language:
>> http://cm.bell-labs.com/who/dmr/chist.html
>>
>> It talks a bit about how B was originally implemented somewhat like
>> ETH Pascal (p-code). Are there any B interpreters or programs in the
>> archive?
>
> What intrigued me about this is that it's such an early example of an
> abstract machine running as an interpreter. BCPL, roughly
> contemporaneous, used ocode as an intermediate language, but it seems
> this was intended to be further translated into assembly. While it's
> possible to interpret ocode, in practice it seems this was rare, if it
> was done at all. Almost everything I've read about abstract/vitual
> machines traces its roots back to the following source:
>
> James R. Bell. 1973. Threaded code. Commun. ACM 16, 6 (June 1973),
> 370-372. DOI=10.1145/362248.362270
> http://doi.acm.org/10.1145/362248.362270
>
> Here's where dmr mentions implementing B using this technique:
>
> The B compiler on the PDP-7 did not generate machine instructions, but
> instead `threaded code' [Bell 72], an interpretive scheme in which the
> compiler's output consists of a sequence of addresses of code
> fragments that perform the elementary operations. The operations
> typically-in particular for B-act on a simple stack machine.
>
> Note he says it was published in 1972, when it actually appeared in
> print in 1973 (same page numbers). Two paragraphs later he writes:
>
> By 1970, the Unix project had shown enough promise that we were able
> to acquire the new DEC PDP-11. The processor was among the first of
> its line delivered by DEC, and three months passed before its disk
> arrived. Making B programs run on it using the threaded technique
> required only writing the code fragments for the operators, and a
> simple assembler which I coded in B; ; soon, dc became the first
> interesting program to be tested, before any operating system, on our
> PDP-11. Almost as rapidly, still waiting for the disk, Thompson
> recoded the Unix kernel and some basic commands in PDP-11 assembly
> language. Of the 24K bytes of memory on the machine, the earliest
> PDP-11 Unix system used 12K bytes for the operating system, a tiny
> space for user programs, and the remainder as a RAM disk. This version
> was only for testing, not for real work; the machine marked time by
> enumerating closed knight's tours on chess boards of various sizes.
> Once its disk appeared, we quickly migrated to it after
> transliterating assembly-language commands to the PDP-11 dialect, and
> porting those already in B.
>
> The abstract machine is also mentioned in Thompson's "Users' Reference
> to B", dated January 7, 1972. If the 1970 date is correct, they were
> using this technique some three years before most of the computing
> world knew about it!?
Hello!
This discussion is beginning to strike a heck of a lot of chords.
Jason what is this TripOS you are describing here about? And did you
actually get Dungeon to work?
-----
Gregg C Levine gregg.drwho8(a)gmail.com
"This signature fought the Time Wars, time and again."
Wasn't the other 'advantage' of threaded/pcode that it'd be smaller than a
native executable?
I know it's out of left field, but building Dungeon on RT-11, you have to
use the treaded compiler, and I assume it was a space thing.. Just as on
MS-DOS (Yeah I know...) a save for fitting stuff in 64kb for the later
compilers was to compile to p-code..
Wikipedia gives p-code for Pascal a timeframe of the 'early 70's and
attribes the whole interpeted code as O-Code for BCPL ....
I wonder if anyone ever did save any TripOS tapes for the PDP-11.....
-----Original Message-----
From: A. P. Garcia [mailto:a.phillip.garcia@gmail.com]
Sent: Friday, October 14, 2011 11:58 PM
To: tuhs(a)minnie.tuhs.org
Subject: Re: [TUHS] b remnants?
On Fri, Oct 14, 2011 at 9:52 AM, A. P. Garcia
<a.phillip.garcia(a)gmail.com> wrote:
>
> In memoriam, I read The Development of the C Language:
> http://cm.bell-labs.com/who/dmr/chist.html
>
> It talks a bit about how B was originally implemented somewhat like
> ETH Pascal (p-code). Are there any B interpreters or programs in the
> archive?
What intrigued me about this is that it's such an early example of an
abstract machine running as an interpreter. BCPL, roughly
contemporaneous, used ocode as an intermediate language, but it seems
this was intended to be further translated into assembly. While it's
possible to interpret ocode, in practice it seems this was rare, if it
was done at all. Almost everything I've read about abstract/vitual
machines traces its roots back to the following source:
James R. Bell. 1973. Threaded code. Commun. ACM 16, 6 (June 1973),
370-372. DOI=10.1145/362248.362270
http://doi.acm.org/10.1145/362248.362270
Here's where dmr mentions implementing B using this technique:
The B compiler on the PDP-7 did not generate machine instructions, but
instead `threaded code' [Bell 72], an interpretive scheme in which the
compiler's output consists of a sequence of addresses of code
fragments that perform the elementary operations. The operations
typically-in particular for B-act on a simple stack machine.
Note he says it was published in 1972, when it actually appeared in
print in 1973 (same page numbers). Two paragraphs later he writes:
By 1970, the Unix project had shown enough promise that we were able
to acquire the new DEC PDP-11. The processor was among the first of
its line delivered by DEC, and three months passed before its disk
arrived. Making B programs run on it using the threaded technique
required only writing the code fragments for the operators, and a
simple assembler which I coded in B; ; soon, dc became the first
interesting program to be tested, before any operating system, on our
PDP-11. Almost as rapidly, still waiting for the disk, Thompson
recoded the Unix kernel and some basic commands in PDP-11 assembly
language. Of the 24K bytes of memory on the machine, the earliest
PDP-11 Unix system used 12K bytes for the operating system, a tiny
space for user programs, and the remainder as a RAM disk. This version
was only for testing, not for real work; the machine marked time by
enumerating closed knight's tours on chess boards of various sizes.
Once its disk appeared, we quickly migrated to it after
transliterating assembly-language commands to the PDP-11 dialect, and
porting those already in B.
The abstract machine is also mentioned in Thompson's "Users' Reference
to B", dated January 7, 1972. If the 1970 date is correct, they were
using this technique some three years before most of the computing
world knew about it!?
_______________________________________________
TUHS mailing list
TUHS(a)minnie.tuhs.org
https://minnie.tuhs.org/mailman/listinfo/tuhs
I didn't see it as immeditaly obvious on slackware 1.0 ... or SLS .. it very
well may have been some addon or something somehwere....
If anyone knew it's filename that'd go a long long way! :)
-----Original Message-----
From: Derrik Walker [mailto:lorddoomicus@mac.com]
Sent: Friday, October 14, 2011 12:36 PM
To: Gregg Levine
Cc: tuhs(a)minnie.tuhs.org
Subject: Re: [TUHS] b remnants?
On Oct 14, 2011, at 11:53 AM, Gregg Levine <gregg.drwho8(a)gmail.com> wrote:
> On Fri, Oct 14, 2011 at 11:34 AM, Derrik Walker <lorddoomicus(a)mac.com>
wrote:
> > Many, many eons ago, in the early '90's, there was an implementation of
B
> > for Linux ( I believe it was written in C, ironically enough ). I think
it
> > was part of a bigger collection of "ancient" software for Linux that use
to
> > be around in the early Slackware days.
> >
> > Alas, I have searched for it in the recent past, as I was thinking about
> > porting it to OS X for kicks, but it seems to have vanished.
> >
> > Having an B, implemented in a modern language for a modern OS would be
cool.
> >
>
>
> Hello!
> How early a time period for the Slackware Linux group? (Which is what
> I run.) There's a repository of older distributions on the Ibib site,
> and a more comprehensive one situated on a mirror in the UK.
It would have been around '92 or '93, back when Slackware really only
provided a very basic boot system, gcc, some fancy scripts, and a crap load
of tarballs to compile everything. I'm not even sure it was part of the
Slackware collection, it might have been something someone added to the
server - I didn't build that computer.
It was an experimental system at CSU, where I was going to school at the
time - and the first actually Linux computer I ever had an account on. One
of the older professors had a bunch of B code he got from someplace and put
the compiler on there to see if he could get it to build. I remember he
also put f2c on there too as he had a tape full of Fortran code he wanted to
compile.
But, for all I know, he may have written the B compiler himself, but I seem
to remember him telling me about this collection of ancient software for
Linux that someone else had written, and he had gotten it up and running on
the experimental Linux system. Just not sure how faulty my memory is. I
just remember looking at B, and asking why he just doesn't covert it to C?
Funny thing was, some of the younger professors were complaining saying the
preferred their "REAL UNIX".
Unfortunately, he as long since retired. And that Computer was retired when
they moved the main Student system from HPUX to Redhat in the late '90's.
- Derrik
Just for the record.
The correct way to mirror a site with links corrected is
wget -c -m -k -np -e robots=off URL
Seems most people have problem remembering this incantation.
--
EMBnet/CNB
Scientific Computing Service
Solving all your computer needs for Scientific
Research.
http://bioportal.cnb.csic.eshttp://www.es.embnet.org
We could set up a web site
inmemoriamdmr.org
maybe initially as a wiki and ask people to add their contribution
and then maybe we could try to collect there his works or add a blog with
articles about him that could be commented...
Just an idea, I am in the middle of a Congress, seated in the front
row and trying to listen to speakers through my consternation, and can do
very little now.
j
--
EMBnet/CNB
Scientific Computing Service
Solving all your computer needs for Scientific
Research.
http://bioportal.cnb.csic.eshttp://www.es.embnet.org
Truly a great loss.
I just saw this (I have traveling to some international meetings).
I wonder if we could come up with a way to pay hommage to him
all together to acknowledge his legacy.
Don't know what could be best, but I am sure there are people
here who knew him and through their consternation can give us an idea
of what would be the best way to publicly honor him.
Can we all get together to do something jointly for him? I
guess a global collaborative initiative would be most in his spirit
and philosophy of life.
Dunno, maybe create web site to celebrate him. Where everybody
can leave a testimony of how his work has affected our lives.
j
--
EMBnet/CNB
Scientific Computing Service
Solving all your computer needs for Scientific
Research.
http://bioportal.cnb.csic.eshttp://www.es.embnet.org
True. I had to mirror via ftp as the robots.txt stopped the http mirroring. It should be possible to fix the mirror in the tarball. I'll see what I can do.
Thanks, Warren
--
Sent from my Android phone with K-9 Mail. Please excuse my brevity.
Hans Ottevanger <hansot(a)gmail.com> wrote:
On Thu, Oct 13, 2011 at 6:57 AM, Warren Toomey <wkt(a)tuhs.org> wrote: > All, I've taken a mirror of http://cm.bell-labs.com/cm/cs/who/dmr/ > and placed it at http://minnie.tuhs.org/dmr/ > > Feel free to mirror from minnie, in case the Labs' server gets overloaded. > It's 112 Megs. > Warren, Thanks for this excellent action, but your links are still absolute, i.e. point to the original content on the Bell Labs website. If that content disappears for whatever reason you will have a lot of links to convert. Kind regards, Hans Ottevanger