[HECnet] 2.11BSD

Clem Cole clemc at ccc.com
Tue Dec 18 18:27:38 PST 2012


The page size on the VAX is 512 bytes  and it lacked COW (copy-on-write) HW (long, long story as to why, which I will not try to repeat).    In the end, this would be a huge problem with all VAX OSses and HW - take look any of the sources.    Us OS guys were basically driven nuts at time about it and there were huge fights with the HW team.   Only after all the trouble the VAX MMU caused the OS team, and many  of  the same folks were working on a different system   did we get Dave Cane to relent and he gathered up Tom Teixiera, Terry Hayes, myself   and we [the OS team]  essentially  designed a different MMU (IIRC correctly it was 4K page, but I've forgotten and I'm traveling so I can not look at doc in my basement).   I should note that  Dave is really is one best HW guys I ever worked with - he had previously led the VAX 750 development and was part of the 780.   He is one of the people I most respect from those days.  

As a side note, about 2-3 years later with the 386/486 Intel put the MMU "on-die" and  Moto would follow suite.   Once that happened the MMU and the CPU pretty much were married and you see things become a lot more standardized.   But to Intel and friends credit that got learn from all of the others and decide what worked and what did not.   FYI: if you look at the MMU in the R2000-R4000 [which fairly soft] and then the Alpha, you'll see the logical progression of what HW was needed, how the TLB (or "TB" if you came from the other religion) was what really mattered.   The reality is that SW (the OS) started to really influence the MMU design more than it had 10 years before - particularly as the different UNIX flavors became the world of the day.


If you want to understand it and how it came about, there is a really great discussion of all of this is Curt Schimmell's "UNIX Systems for Modern Architectures: Symmetric Multiprocessing and Caching for Kernel Programmers"


On Tue, Dec 18, 2012 at 7:39 PM, Johnny Billquist <bqt at softjar.se> wrote:
On 2012-12-18 19:05, Clem Cole wrote:
Paul.   given the time (late 1960's/early 70's) the prevailing page sizes were 64   / 128 / 256 / 512 bytes which just happen to map to the sizes of blocks used in disk controllers.   1/4/8 k pages were a few years in the future.

by the virtual address extension to the 11 ( aka 1975 's vax 11/780) DEC switched to 512 bytes.

That said as wnj would point out in the "fast vax" paper by 1979 512 bytes was to small.

Um... The page size of the PDP-11 is 8K. :-)

            Johnny



Clem
On Dec 18, 2012, at 9:45 AM, <Paul_Koning at Dell.com> wrote:


On Dec 17, 2012, at 6:01 PM, Johnny Billquist wrote:

On 2012-12-17 23:50, Boyanich, Alastair wrote:
...
2) Was 2.11BSD ever ported to other platforms? Given the age/era, I'm
curious about 8088/8086/NECv20/80286 given the banked memory models used
and looking at the 8088/8086 XENIX disassembly.

Nope. That would not have been 2BSD then. And since the PDP-11 don't even have banked memory, it would probably cause some headaches to port 2BSD to something like 80286 or other similar machines.
To make it clear - the PDP-11 have a very normal MMU with pages.

Semi-normal.   It's rather unusual in that it has a paged MMU with page address granularity different from the page size (64 bytes vs. 8k bytes).   Most architectures have those two match, that avoids an adder -- consider VAX or MIPS or Alpha.

      paul




-- 
Johnny Billquist                           || "I'm on a bus
                                                   ||   on a psychedelic trip
email: bqt at softjar.se                   ||   Reading murder books
pdp is alive!                               ||   tryin' to stay hip" - B. Idol



More information about the Hecnet-list mailing list