The wheel of reincarnation discussion got me to thinking:
What I'm seeing is reversing the rotation of the wheel of reincarnation.
Instead of pulling the task (e.g. graphics) from a special purpose device
back into the general purpose domain, the general purpose computing domain
is pushed into the special purpose device.
I first saw this almost 10 years ago with a WLAN modem chip that ran linux
on its 4 core cpu, all of it in a tiny package. It was faster, better, and
cheaper than its traditional embedded predecessor -- because the software
stack was less dedicated and single-company-created. Take Linux, add some
stuff, voila! WLAN modem.
Now I'm seeing it in peripheral devices that have, not one, but several
independent SoCs, all running Linux, on one card. There's even been a
recent remote code exploit on, ... an LCD panel.
Any of these little devices, with the better part of a 1G flash and a large
part of 1G DRAM, dwarfs anything Unix ever ran on. And there are more and
more of them, all over the little PCB in a laptop.
The evolution of platforms like laptops to becoming full distributed
systems continues. The wheel of reincarnation spins counter clockwise -- or
sideways?
I'm no longer sure the whole idea of the wheel or reincarnation is even
applicable.
Rob Pike:
As observed by many others, there is far more grunt today in the graphics
card than the CPU, which in Sutherland's timeline would mean it was time to
push that power back to the CPU. But no.
====
Indeed. Instead we are evolving ways to use graphics cards to
do general-purpose computation, and assembling systems that have
many graphics cards not to do graphics but to crunch numbers.
My current responsibilities include running a small stable of
those, because certain computer-science courses consider it
important that students learn to use them.
I sometimes wonder when someone will think of adding secondary
storage and memory management and network interfaces to GPUs,
and push to run Windows on them.
Norman Wilson
Toronto ON
Recently, I stumbled upon a photo of the Lions Commentary that didn't have
a bell disclaimer, but a Wollongong Group disclaimer on it. Not Wollongong
University, but The Wollongong Group (a company I coincidentally used to
work for). I wish I'd saved the images, because now I can't find it. Has
anybody else seen this?
Warner
> I'll turn this into a 'Fixing damaged V5/V6 file systems' article on
> the CHWiki.
Here'a a first crack at it:
https://gunkies.org/wiki/Repairing_early_UNIX_file_systems
Any suggestions for improvements/additions will be gratefully received!
I've also been amusing myself trying to figure out who wrote:
http://ana-3.lcs.mit.edu/~jnc/tech/unix/s1/fcheck.c
and how it got to MIT - which might give us a clue as to who wrote it. (It's
clearly a distant ancestor to 'fsck'.) The fact that we've lost Ted Kowalski
is really hindering, alas. Interestingly, Dale DeJager, head of the CB-UNIX
group, earlier remembered Hal Pierson working on a file system checker early
on:
"Hal also implemented the first file system check routine that was written
in C. It replaced an .. assembler version from research"
but it's not clear if the thing Hal wrote, mentioned there, has any
relationship with the 'check' of V5:
https://minnie.tuhs.org/cgi-bin/utree.pl?file=V5/usr/source/s1/check.c
Maybe one of the Labs old-timers here remembers where the V5 thing came from?
(I.e. did Ken or Dennis write it, or did it come from Columbus?) If you do, it
would be a big help!
Noel
Hi,
When executing ps alx on the interdata sim I get good output:
# ps alx
F S UID PID PPID CPU PRI NICE ADDR SZ WCHAN TTY TIME CMD
3 S 0 0 0 255 0 20 2235 2 4262 ? 36:48 swapper
1 S 0 1 0 0 30 20 2255 8 46060 ? 0:00 /etc/init
1 S 0 19 1 0 30 20 2745 11 46114 co 0:00 -sh
1 R 0 301 19 4 50 20 4056 20 co 0:00 ps alx
1 S 0 12 1 0 40 20 2545 5 140000 ? 0:00 /etc/update
1 S 1 18 1 0 40 20 2625 10 140000 ? 0:00 /etc/cron
#
When executing ps alx on the pdp11 sim I get bad output:
# ps alx
F S UID PID PPID CPU PRI NICE ADDR SZ WCHAN TTY TIME CMD
115
5120 0 0 1 26 1 55 1 3003 ? 120150:37 swapper
#
I tried copying the source from one machine to the other. No luck, same
issue.
I have attached the source from both machines.
Any help appreciated.
Ken
--
WWL 📚
> From: Douglas McIlroy
> Typo, in v3 through v6 ...
> 26^3 16-bit trigram counts didn't fit in the PDP-11 memory
Being mildly curious, I fed '26 3 ^p' into 'dc' to see just how big it was -
and got "17576", a 16-bit word array of which would fit into a PDP-11 64KB
address space.
I think the answer is in the first line - V3 didn't use the PDP-11 memory
management, so the kernel _and_ the application had to fit into 56KB. So
there may well have not been 36KB available to hold a 26^3 array of 16-bit
words.
The other possible explanation is that it was perfectly possible to run UNIXes
of that era (V4 on) on machines without enough main memory to hold the kernel
and a 'full-sized' process simultaneously. (Our original machine, an -11/40,
started out without a lot of memory; I don't recall exactly how much, though.
It had, I'm pretty sure, 3 banks of core; I was thinking it was 3 MM11-L core
units, which would be 3x16KB, or only 48KB, but my memory must be wrong;
that's not really enough.)
Noel
> From: Clem Cole wrote:
> It had more colorful name originally - fsck (pronounced as fisk BTW)
> was finished. I suspect the fcheck name was a USG idea.
I dunno. I don't think we at MIT wold have gratuitously changed the name to
'fcheck'; I rather think that was its original name - and we pretty
definitely got it from CMU. 'fsck' was definitely descended from 'fcheck'
(below).
> From: Jonathan Gray
>> (are 'fsck' and 'fcheck' the same program?)
> https://www.tuhs.org/cgi-bin/utree.pl?file=V7addenda/fsck
Having looked the the source to both, it's quite clear that 'fcheck' is a
distant ancestor of 'fsck' (see below for thoughts on the connection(s)). The
latter has been _very_ extensively modified, but there are still some traces
of 'fcheck' left.
A lot of the changes are to increase the portability, and also to come into
compliance with the latest 'C' (e.g. function prototypes); others are just to
get rid of oddities in the original coding style. E.g.:
unsigned
dsize,
fmin,
fmax
;
Perfectly legal C, but nobody uses that style.
> From: Jonathan Gray
> fcheck is from Hal Pierson at Bell according to
> https://www.tuhs.org/Archive/Distributions/USDL/CB_Unix/readme.txt
Hmm. "the major features that were added to UNIX by CB/UNIX ... Hal Person
(or Pierson?) also rewrote the original check disk command into something
that was useful by someone other than researchers."
I poked around in CB/UNIX, and found 'check(1M)':
https://www.tuhs.org/Archive/Distributions/USDL/CB_Unix/cbunix_man1_01.pdf
(dated November 1979). Alas, the source isn't there, but it's clearly in the
fheck/fsck family. (CB/UNIX also has chkold(1M), which looks to me like it's
'icheck'.)
So now we have a question about the ancestry of 'check' and 'fcheck' - is one
an ancestor of the other, and if so, which - or are they independent
creations? Without the source, it's hard to be definitive, bur from the
messages (as given in the manual), they do seem related.
Clem's message of 3 Mar, 14:35 seems to indicate the the original was from
CMU, authored by Ted Kowalski; he also:
https://wiki.tuhs.org/doku.php?id=anecdotes:clem_cole_student
says "Ted Kowalski shows up for his OYOC year in the EE dept after his summer
at Bell Labs ... He also brought his cool (but unfinished) program he had
started to write originally at U Mich - fsck". So maybe the CB/UNIX 'check' is
descended from a version that Ted left behind at Bell Labs?
Is anyone in touch with Hal Pierson? He could surely clear up these questions.
Noel
> From: KenUnix
> So is it safe to say there is no fsck or similar for v7?
There was a version of 'fcheck' (are 'fsck' and 'fcheck' the same program?)
for V7, but I don't know if it's available. It would be really easy to
convert the 'fcheck.c' that I put up to a V7 version; the V6 and V7 file
systems are almost identical, except for the block size, I think.
> From: Dan Cross
> I believe you posted a link to end(3) here back in 2018
Yes, but that does't talk about '_end' not being defined if there
are missing externals, either! All it says is:
"Values are given to these symbols by the link editor 'ld' when, and only
when, they are referred to but not defined in the set of programs loaded."
Now that I think about it, I have this vague memory we had to look at the
source for 'ld.c' to verify what was going on!
> From: Jonathan Gray
> That is close, but slightly different to the PWB fcheck.c
Interesting. I wonder how 'fcheck' made it from CMU to Bell? Clem and I
discussed how it made it from CMU to MIT, and we think it was via Wayne
Gramlich, who'd been an undergrad at CMU, and then went to grad school at MIT.
I'm pretty sure the reason we liked it was not any auto-repair capabilities,
but ISTR it was somewhat faster than icheck/dcheck. (Interesting that they were
separate programs in V6; V5 seems to have only had check:
http://squoze.net/UNIX/v5man/man8/checkhttps://minnie.tuhs.org/cgi-bin/utree.pl?file=V5/usr/source/s1/check.c
which contained the functionality of both. I wonder why they were split?
Space?)
> From: Rich Salz
> But the amazing point was it worked regardless of bit order.
I forgot to mention thast, but yes, its input was the number in bit-serial
form. I suspect there's a connection between the property he mentioned, and
the fact that the grad student could design something which would work with
binary numbers fed in from either end, but I can't bring myself to devote the
brain cells to figure it out.
> From: John Cowan
> I didn't know that one was done at MIT.
Yes; see:
https://www.hactrn.net/sra/alice/alice.intro
There's a really funny story at the end of that about the real Ann Marie
Finn. In Rob's version, she took the role of KAREN in the earlier one. That
would be Karen Prendergast, Patrick Winston's admin; why we used her I don't
know, since I didn't really know her, but I guess she had a reputation as a bit of
a 'tough cookie'.
>> I think that the person fails their oral. I have no idea if it's a
>> true story.
> That's vicious.
Hey, this _is_ the school that used to tell incoming freshpeople, at the
welcoming picnic 'look at the person to your left, and to your right; at
graduation, one of you won't be here'. I don't remeber if they said the same
thing at mine, or if the story had just been passed down from class to class.
Noel
In looking at the first AUUGN today, I noticed the following at the end of
a letter John Lions sent home when he spent a sabbatical at Bell Labs
[image: image.png]
I've seen the first patent, but not the second one... That's got to be a
joke or inside joke, right? Anybody know anything else about it?