All, just received this from a fellow who isn't on the TUHS mail list (yet).
I've answered him about using mknod (after reading the 6e docs: we don't have
5e docs). I thought I'd forward the e-mail here as a record of an attempt to
rebuild the 5e kernel.
Cheers, Warren
----- Forwarded message from Mark -----
I hope you don't mind me asking you about compiling the unix v5
kernel. I haven't been able to find any documentation for it.
I tried this:
./mkconf
rk
tm
tc
dc
lp
ctrl-d
# as mch.s
# mv a.out mch.o
# cc -c c.c
# as l.s
# ld -x a.out mch.o c.o ../lib1 ../lib2
There was no m40.s in v5 so I substituted mch.s for m40.s and that
seemed to create a kernel and it booted but I can't access /dev/mt0.
Any pointers are appreciated. Thanks for all your work on early unix,
I thought it was very interesting.
Mark
----- End forwarded message -----
PS: I see I have over-generalized the problem. Doug's original message say "a
process could excise itself from a pipeline". So presumably the initiation
would come from process2 itself, and it would know when it had no
internally-buffered data.
So now we're back to the issue of 'either we need a system call to merge two
pipes into one, or the process has to hang around and turn itself into a cat'.
Noel
> From: Larry McVoy <lm(a)mcvoy.com>
> Making what you are talking about work is gonna be a mess of buffer
> management and it's going to be hard to design system calls that would
> work and still give you reasonable semantics on the pipe. Consider
> calls that want to know if there is data in the pipe
Oh, I didn't say it would work well, and cleanly! :-) I mean, taking one
element in an existing, operating, chain, and blowing it away, is almost
bound to cause problems.
My previous note was merely to say that the file descriptor/pipe
re-arrangement involved might be easier done with a system call - in fact, now
that I think about it, as someone has already sort of pointed out, without a
system call to merge the two pipes into one, you have to keep the middle
process around, and have it turn into a 'cat'.
Thinking out loud for a moment, though, along the lines you suggest....
Here's one problem - suppose process2 has read some data, but not yet
processed it and output it towards process3, when you go to do the splice.
How would the anything outside the process (be it the OS, or the command
interpreter or whatever is initiating the splice) even detect that, much less
retrieve the data?
Even using a heuristic such as 'wait for process2 to try and read data, at
which point we can assume that it no longer has any internally buffered data,
and it's OK to do the splice' fails, because process2 may have decided it
didn't have a complete semantic unit in hand (e.g. a complete line), and
decided to go back and get the rest of the unit before outputting the
complete, processed semantic unit (i.e. including data it had previously
buffered internally).
And suppose the reads _never_ happen to coincide with the semantic units
being output; i.e. process2 will _always_ have some buffered data inside it,
until the whole chain starts to shut down with EOFs from the first stage?
In short, maybe this problem isn't solvable in the general case. In which
case I guess we're back to your "Every utility that you put in a pipeline
would have to be reworked".
Stages would have to have some way to say 'I am not now holding any buffered
data', and only when that state was true could they be spliced out. Or there
could be some signal defined which means 'go into "not holding any buffered
data" state'. At which point my proposed splice() system call might be some
use... :-)
Noel
> From: Larry McVoy <lm(a)mcvoy.com>
> Every utility that you put in a pipeline would have to be reworked to
> pass file descriptors around
Unless the whole operation is supported in the OS directly:
if ((pipe1 = process1->stdout) == process2->stdin) &&
((pipe2 = process2->stdout) == process3->stdin) {
prepend_buffer_contents(pipe1, pipe2);
process1->stdout = process2->stdout;
kill_pipe(pipe1);
}
to be invoked from the chain's parent (e.g. shell).
(The code would probably want to do something with process2's stdin and
stdout, like close them; I wouldn't have the call kill process2 directly, that
could be left to the parent, except in the rare cases where it might have some
use for the spliced-out process.)
Noel
It's easy for a process to insert a new process into a
pipeline either upstrean or downstream. Was there ever a
flavor of Unix in which a process could excise itselfa
from a pipeline without breaking the pipeline?
Doug
Armando P. Stettner:
If I've said once, I've said it a million times: DECvax is NOT connected to kremvax. :)
====
Not any more, anyway.
Norman Wilson
Toronto ON
(once upon a time, research!norman)
Keywords: encoding, charset, latin, roman, accented, diacritical
Hi! Does anyone know which was the earliest Unix release to support the
ISO-8859-1 character set?
Hi there,
Sorry for an eventual Offtopic but this is strictly
related to our Computer Museum activity...
We launched a campaign to get some help for our upcoming
initiative, that will be the starting point for a big step
forward to a new Museum!
So please take time to read it, and please share everywhere to
anyone interested!
http://igg.me/at/insertcoin
love
asbesto
Knowing Dave and his long history with Unix, I suspect it was simply a typo. Just like vi commands are now hardwired into my fingers, I guess K&R is imprinted on his fingers.
Cheers, Warren
On 28 June 2014 17:12:14 AEST, Armando Stettner <aps(a)ieee.org> wrote:
>K&R usually refers to Brian Kernighan and Dennis Ritchie, writers of
>the (I think) first book on C. If there were two people to acknowledge
>for getting it right, it would be Ken and Dennis.
>
> aps
>
>
>Begin forwarded message:
>
>> From: Warren Toomey <wkt(a)tuhs.org>
>> Subject: [TUHS] 40 years of Unix CACM Article
>> Date: June 28, 2014 at 12:02:06 AM PDT
>> To: tuhs(a)tuhs.org
>>
>> Just in from an early Unix devotee.
>> Warren
>>
>> From: Dave Horsfall <dave(a)horsfall.org>
>> Sent: 28 June 2014 16:14:18 AEST
>> To: Auug Talk <talk(a)lists.auug.org.au>
>> Subject: [AUUG-Talk]: 40 years of Unix
>>
>> Next month sees the 40th anniversary of the article "The Unix
>Timesharing
>> System" published in Communications of the ACM; I was at UNSW at the
>time,
>> and we bought the first tape for subsequent distribution.
>>
>> At the time its only competitor was RSTS-11, and to a lesser extent
>> RSX-11D and RSX-11M (all DEC systems). It saw CP/M vanish, MS-DOS
>come
>> and go, NT tried to challenge it, and even Windows hasn't beaten it.
>>
>> It spawned Linux, which Billy Gates regarded as a serious threat
>("any box
>> running Linux is not running Windows") and even tried a smear
>campaign
>> against it.
>>
>> Unix was a design that "just worked" because K&R simply got it right,
>
>> right from the start.
>>
>> It'll never go away.
>>
>> -- Dave
>>
>> Applix 1616 mailing list
>> Applix-L(a)object-craft.com.au
>> https://www.object-craft.com.au/cgi-bin/mailman/listinfo/applix-l
>>
>> Talk - The AUUG discussion list.
>> Talk(a)lists.auug.org.au
>> https://lists.auug.org.au/listinfo/talk
>>
>> --
>> Sent from my Android phone with K-9 Mail. Please excuse my
>brevity._______________________________________________
>> TUHS mailing list
>> TUHS(a)minnie.tuhs.org
>> https://minnie.tuhs.org/mailman/listinfo/tuhs
--
Sent from my Android phone with K-9 Mail. Please excuse my brevity.
Just in from an early Unix devotee.
Warren
-------- Original Message --------
From: Dave Horsfall <dave(a)horsfall.org>
Sent: 28 June 2014 16:14:18 AEST
To: Auug Talk <talk(a)lists.auug.org.au>
Subject: [AUUG-Talk]: 40 years of Unix
Next month sees the 40th anniversary of the article "The Unix Timesharing
System" published in Communications of the ACM; I was at UNSW at the time,
and we bought the first tape for subsequent distribution.
At the time its only competitor was RSTS-11, and to a lesser extent
RSX-11D and RSX-11M (all DEC systems). It saw CP/M vanish, MS-DOS come
and go, NT tried to challenge it, and even Windows hasn't beaten it.
It spawned Linux, which Billy Gates regarded as a serious threat ("any box
running Linux is not running Windows") and even tried a smear campaign
against it.
Unix was a design that "just worked" because K&R simply got it right,
right from the start.
It'll never go away.
-- Dave
_______________________________________________
Applix 1616 mailing list
Applix-L(a)object-craft.com.au
https://www.object-craft.com.au/cgi-bin/mailman/listinfo/applix-l
_______________________________________________
Talk - The AUUG discussion list.
Talk(a)lists.auug.org.au
https://lists.auug.org.au/listinfo/talk
--
Sent from my Android phone with K-9 Mail. Please excuse my brevity.
> Ahh! I wonder if they'll be making images and PDFs available?
If you want to check, my contact has been:
William Harnack <wharnack(a)computerhistory.org>
Doug
> > Have Xinu media to go with it? It's something I've been trying to track down. ;)
>
> Have you asked Doug? I've copied him
I just donated my extra copy of Xinu tapes and floppies to the computer museum
(along with first editions of the books).
> (Hey Doug, you should be on this list, all the long time unix nerds seem to be
> here, lots of fun with memory lane).
I'd be happy to join.
Doug
They pitched a PDP-10 for a similar reason--hardware to build a
bigger Unix on. When a small pot of end-of-year money appeared,
they took a PDP-11 instead--serendipitously, because university
folks started proving this elegant system on cheap hardware
in many projects in small labs, which they never could have
done had the system existed on a PDP-10 mainframe. While
upper management did not directly cause Unix to be built,
their decisions to abandon Multics and not to buy a PDP-10
were notable causes for its creation and spread.
Doug
> Date: Wed, 18 Jun 2014 07:43:51 -0700
> From: iking(a)killthewabbit.org
> To: tuhs(a)minnie.tuhs.org,Doug McIlroy <doug(a)cs.dartmouth.edu>
> Subject: Re: [TUHS] Happy birthday, core dumped
> Message-ID: <ef723f8a-52b6-4810-be59-1837c75b1da3.maildroid@localhost>
> Content-Type: text/plain; charset="utf-8"
>
> Interesting - what's your source? It was also my understanding they used the -7 'because it was there' but that they had pitched for a PDP-10, which had TOPS-10. - Ian
>
> Sent from my android device.
>
> -----Original Message-----
> From: Doug McIlroy <doug(a)cs.dartmouth.edu>
> To: tuhs(a)minnie.tuhs.org
> Sent: Wed, 18 Jun 2014 4:06 AM
> Subject: Re: [TUHS] Happy birthday, core dumped
>
>
> > It's always been a bit of a mystery to me why Thompson and Ritchie decided they needed to write a new executive - UNICS - rather than use DECsys.
>
> It was the other way around. They had conceived a clean, simple, yet
> powerful, operating system and needed a machine to build it on. A
> cast-off PDP-7 happened to be at hand.
>
> Doug
> From: "A. P. Garcia" <a.phillip.garcia(a)gmail.com>
> that's like asking george martin for his source regarding a beatles
> song...
Reminds me of the person on Wikipedia who tried to argue with me about the
'History of the Internet' article... :-)
> From: John Cowan <cowan(a)mercury.ccil.org>
>> scj(a)yaccman.com scripsit:
>> a Dec repair person who ran "preventive maintenance" on our disc that
>> wiped out the file system! His excuse was that Dec didn't support
>> "permanent storage" on the disc at the time...
> Next time, mount a scratch monkey.
It was probably a fixed-head disk (RS11 or RS04); can't exactly stick a
different pack in! :-) Probably the DEC OS's only used it for swapping or
something, since they were both relatively small - 512KB.
(Speaking of RS11's: the first PDP-11 I used - an 11/20 running RSTS - had a
grand total disk storage of _one_ RS11!)
And speaking of putting file systems on them: I recently wrote this command
for V6 called 'si' which allowed me (among many other interesting things) to
watch the contents of the disk buffer(s). It turns out that even with other
packs mounted, the buffer is almost always completely full of blocks from the
root device; it makes plain the value of having the root on a _really_
fast disk.
I don't know if that usage pattern is because /bin is there, or because pipes
get created on the root, or what. When I get up the energy I'll move /bin to
another drive (yeah, yeah, I know - good way to lose and create a systen that
won't boot, so I'll actually make a _copy_ of /bin and mount it _over_ the
original /bin - probably a host of interesting errors there, e.g. if a process
has the old /bin as its current dir), and see what the cache contents look
like then.
Noel
For reconstructing Unix history on a single repository [1], I'd need to
represent the branches, merges, and chronological sequence of the late
BSD releases (after 4.3). However, I've found on the internet some
conflicting and simplistic information, so I'd welcome your input on how
to straighten things up.
First, consider this widely reproduced BSD family tree [2]. It has
4.4BSD-Encumbered derive from a line that includes Net/1, which was
freely redistributable. Wouldn't it be clearer to create two branches,
one with distributions free of AT&T code (4.3 BSD Net/1, 4.3 BSD Net/2,
4.4 BSD Lite1, 4.4 BSD Lite2) and one with full distributions (4.4 BSD,
...)? On which side would Tahoe and Reno stand?
Also, the same tree [2] shows 4.4 BSD having as its ancestor 4.3 BSD
Net/2, whereas another tree depicted on Wikipedia [3] has shows 4.4 BSD
and 4.3 BSD Net/2 having as their ancestor 4.3 BSD Reno. What's the
correct genealogy?
Finally, I have a conflict with release dates. Wikipedia gives the
following dates for Tahoe and Net/1 [4]:
4.3 BSD Tahoe June 1988
4.3 BSD Net/1 June 1989
However, looking at time-stamp of the newest files available under the
corresponding directories in the CSRG CD-ROMs [5] I find the opposite order:
cd2/net.1/sendmail/src/util.c 1989-01-01 12:15:58
cd2/4.3tahoe/usr/src/sys/tahoevba/vx.c 1989-05-23 13:47:43
What's the actual time sequence, and what's the corresponding genealogy?
[1] https://github.com/dspinellis/unix-history-repo
[2]
http://ftp.netbsd.org/pub/NetBSD/NetBSD-current/src/share/misc/bsd-family-t…
[3] https://en.wikipedia.org/wiki/File:Unix_history-simple.svg
[4] https://en.wikipedia.org/wiki/Berkeley_Software_Distribution
[5] https://www.mckusick.com/csrg/
Many thanks,
Diomidis Spinellis
PS Thank you all for the help you've provided so far.
Interesting - what's your source? It was also my understanding they
used the -7 'because it was there' but that they had pitched for a
PDP-10, which had TOPS-10.
======
I think Doug's source is in the class `personal observation.'
He was there at the time; Ken and Dennis's department head, if
I've got it right.
Remember that Bell Labs had just disengaged itself from the
Multics project. The interest in a new OS sprang partly
from the desire to have a comfortable multi-user system
now that Multics was no longer available. That's why the
DEC operating systems of the time, which were (as I understand
it) simple single-user monitors, didn't fill the bill.
The character of the players matters too: remember that
Ken is the guy who one night sat down to write a Fortran
compiler because real systems have Fortran, and ended up
inventing B instead.
I've read that there was indeed a pitch to buy a PDP-10; that
there was some complicated plan to lower the effective cost;
and that upper management (not Doug) turned it down because
`Bell Labs doesn't do business that way.' I think I got that
from Dennis's retrospective paper, published in the 1984
all-UNIX issue of the Bell Labs Techical Journal, a must-read
(along with the late-1970s all-UNIX issue of BSTJ) for anyone
on this list.
> It's always been a bit of a mystery to me why Thompson and Ritchie decided they needed to write a new executive - UNICS - rather than use DECsys.
It was the other way around. They had conceived a clean, simple, yet
powerful, operating system and needed a machine to build it on. A
cast-off PDP-7 happened to be at hand.
Doug
Jay Forrester, who invented core memory, first described it in
a lab notebook 65 years ago today.
(Thanks to the Living Computer Museum, through whose Twitter
feed I learned this tidbit. It's a place--the real museum,
not just the Twitter feed--many on this list might enjoy:
among their aged-but-working computers are a Xerox Star and
a PDP-7.)
Norman Wilson
Toronto ON
Greetings,
I have a pdp11/84 and various peripherals available to whomever is willing to take them. I'm in La Crosse, Wisconsin, USA.
pdp11/84
RX01
TU80
2 cabs of 2ea RA81
Thanks,
Milo
--
Milo Velimirović
La Crosse, Wisconsin 54601 USA 43 48 48 N 91 13 53 W
Hello all, recent subscriber to this list...but some might
recognise me.
I'm currently fighting (and mostly succeeding) with getting a pure
4.3BSD-Tahoe install rolling in a VAX simulator (all my tape drives are
currently nonfunctional or I'd fire up a real II or III). Still in the
middle of compiling (I know there are easier ways...but I like the feeling
of doing it purely "from scratch"...feels more historically accurate).
Anyways, while waiting for the compile I ended up with a working 4.1c
installation and I began poking around its source tree (I also did a
little bit of poking at the CSRG discs). I stumbled upon the fact 4.1c
supports the DMC (which SIMH git now emulates!) and I see it's also still
in src/old on some versions of 4.3 (I wonder if it'll still build...).
Looking at the source is immensely confusing...does anyone have any
knowledge/notes from the time period/documentation that will help me with
my little experiment in archaic networking? I might just be tired...but
the berknet configuration doesn't make a whole lot of sense to me.
(There's also the fact my grasp of C is minimal).
--
Cory Smelosky
http://gewt.net Personal stuff
http://gimme-sympathy.org Projects
Speaking of old publications, is there an on-line archive of old ;login:
or EUUG newsletters? I did one for the AUUG newsletters here:
http://minnie.tuhs.org/Archive/Documentation/AUUGN/
but it would be nice to have an archive for the U.S and Europe.
Cheers,
Warren
Doug McIlroy:
> Does anyone know why [Computing Systems] folded?
Arnold Skeeve:
ISTR that they simply ran out of content; they weren't getting
enough submissions to keep it going, and journal production isn't
an inexpensive undertaking.
======
That's what I remember too, though there may also have been
insufficient interest from the members. The front matter
in the last issue suggests that.
Computing Systems was published from Winter 1988 to Fall 1996.
(More years than I'd have guessed, even looking at the physical
journals on my shelf; it was a quarterly.) It would probably
not have lasted much longer no matter what, as the USENIX
community was likely in the forefront of putting papers online
on the World-Wide Web.
USENIX now makes all their conference papers available online,
free to anyone, except that only those registered for a
conference can read them before the conference actually happens.
That's not a bad substitute for a journal, I suppose.
Norman Wilson
Toronto ON