Johnny Billquist wrote:
On 2015-07-14
19:52, Noel Chiappa wrote:
On Jul
13, 2015, at 8:52 PM, Johnny Billquist <bqt at
update.uu.se> wrote:
??? What segments??? The PDP-11 have a plain
simple page
table. No
segments anywhere in sight. And each page is 8K.
I know the processor handbook calls them 'pages', but I can't think
of any
other machine where pages are variable size. (I know of a couple
which offer
_two_ page sizes, but none that have a field per page which specifies
the
length of the page.)
While the pages are variable in length, each page starts at an 8K
virtual address boundary. And each page has a page table entry.
Oh, and actually, the pages are not entirely variable in size. They
can only go up to 8K, which is where the next page starts.
PLUS, as far as I remember, every page must be an exact multiple
of 64 bytes and the starting address of the page in physical memory
must be on a 64 byte boundary. I believe that is actually a hardware
restriction since the address of a page within the MMU is the physical
address of the page divided by 64 decimal (100 octal). In addition,
the length of the page within the MMU is the total number of bytes
again divided by 64 decimal (100 octal). By the way, pages are
allowed to expand either upward or downward as required.
SO it's purely that the pages are not as fixed and
inflexible as on
some other machines, but each page is totally independent of the other
pages, and each works the same way, and is strictly mapped from the
virtual address.
It is probably possible for the hardware to support demand paging,
but I don't know of any DEC operating system for the PDP-11
which does. The usual situation is for the job to request the memory
which it requires, then ask to operating system to MAP the physical
memory to the correct addresses as the memory is needed. With
4 MB of physical memory in total and often only 64 KB in use at
any one time, there is usually sufficient memory to work with.
Jerome Fine