[TUHS] B Language revived on V4 Unix

Douglas McIlroy via TUHS tuhs at tuhs.org
Tue Apr 21 21:11:59 AEST 2026


My understanding of "software paging" was that it worked quite like
customary hardware paging. I believe it applied only to "I space",
with threaded code providing a handle for page faults. But all this is
hearsay and my own inference. Ken probably can tell the real facts.

I realized after posting that the specific reference to v1 was
unwarranted. I don't remember which machine(s) software paging was
implemented on.

Doug

On Tue, Apr 21, 2026 at 6:00 AM Paul Ruizendaal via TUHS <tuhs at tuhs.org> wrote:
>
> > Date: Sun, 19 Apr 2026 22:49:03 -0400
> > From: Douglas McIlroy
> > Subject: [TUHS] B Language revived on V4 Unix
> >
> > The feature of B that most impressed me was not its size, but the fact
> > that it could compile (and run!) code that was too big to fit in
> > memory, thanks to software paging. In particular, when a new feature
> > caused the compiler to become too big, it could still run. Then it
> > could be modified to exploit the new features to shrink it back.
> >
> > So bringing full B up on v4 is nice, but not such a tour de force as
> > it was on v1.
> >
> > Doug
>
> I had not heard of that feature before. Is this referring to early B on the PDP-11 or to B on the PDP-7? (“on v1” suggests the former).
>
> Could you elaborate on the “paging” aspect? If I remember well, on v1 there was only a simple “high-low” memory management system, and as you call it “software paging” I assume you are not referring to that. My first (wild) guess would be that you refer to some type of overlay system, managed by the B runtime library. Maybe somewhat similar to the overlay system that was later included in the C compiler as it evolved on 2BSD?
>
> As always, I am aware that I’m inquiring about details from 50+ years ago and that answers may be lost to the mists of time.
>
> Paul


More information about the TUHS mailing list