*BSD News Article 40116


Return to BSD News archive

Xref: sserve comp.unix.ultrix:24331 comp.unix.bsd:15785 comp.sys.dec:24634 comp.sys.dec.micro:3872
Path: sserve!newshost.anu.edu.au!munnari.oz.au!news.hawaii.edu!ames!agate!howland.reston.ans.net!news2.near.net!satisfied.elf.com!rpi!wilsonj
From: wilsonj@alum01.its.rpi.edu (John Wilson)
Newsgroups: comp.unix.ultrix,comp.unix.bsd,comp.sys.dec,comp.sys.dec.micro
Subject: Re: UNIX (Ultrix, BSD?) for DEC Micro PDP-11?
Date: 21 Dec 1994 23:25:16 GMT
Organization: Rensselaer Polytechnic Institute, Troy NY
Lines: 46
Message-ID: <3dadgs$ita@usenet.rpi.edu>
References: <taubman.787470030@spot.Colorado.EDU> <3d4872$r81@topaz.sensor.com> <3d4r7k$70d@usenet.rpi.edu> <3d9v5o$opt@topaz.sensor.com>
NNTP-Posting-Host: alum01.its.rpi.edu

In article <3d9v5o$opt@topaz.sensor.com>,
Ron Natalie <ron@topaz.sensor.com> wrote:
>John Wilson (wilsonj@alum01.its.rpi.edu) wrote:
>: The PDP-11
>: has variable sized pages -- sure, you could just define them all to be
>: 4KW but then you'd eat through your PDP's tiny memory in no time
>
>Actually, it doesn't have variable sized pages.  It has exactly 8
>per address space corresponding to the 8 8K spaces.  You just didn't
>need to point them at a full 8K's worth of memory.

Right.  8 variable-sized pages.  I didn't say a variable *number* of pages.
The fact that a <4KW page still has to rattle around in 4KW of address space
doesn't have anything to do with the point I was making, which was that memory
fragmentation is a problem on PDP-11s, while it isn't on systems like the
PDP10 that just have a zillion 512-word pages, forexample, since you can always
whip up a seemingly contiguous area with the page tables w/o having to slide
stuff around.  So I'd question whether he newer UNIXes (written for machines
with similar VM structures, like the VAX and 386) have decent (or any)
defragging code.

>The PDP-11 is really not much worse restartability wise than many other
>platforms that support UNIX.

You mean, "top-of-the-line PDP-11."  Machines like the 11/23, 11/24, 11/34,
11/60 etc. that don't have MMR1 mechanized (but are otherwise perfectly
usable, SOB/XOR/EIS, optional FPP, not toys like the 11/05) can easily
get you in situations where instructions *can't* be restarted.  Like if
the faulting instruction is "MOV -(R2),-(R2)", and R2 crosses a page boundary
in one of the autodecs, you don't know which ref it was so you don't know
whether to add 2 or 4 to R2 after loading the page.

Cheap fixes like promising that the C compiler will never generate confusing
instructions like that and not allowing assembly language are too disgusting
for words.

>Most of the early UNIXes couldn't page either (they were done on the
>PDP-11).  This accounts for the combination swap/page architecture
>that persists in UNIX today.

If it persists then great.  My point was that porting a paging-only OS back
to the PDP-11 would be hell, obviously the old UNIXes did it but things have
changed since then.  The old UNIXes *already* ran on the 11 so porting them
to the 11 ought to be pretty straightforward!  :-)

John Wilson