On 4/25/18, Ronald Natalie <ron(a)ronnatalie.com> wrote:
Early pages were 1K.
On the VAX, pages were 512 bytes, the same size as a disk record.
The fun argument is what is Virtual Memory.
Typically, people align that
with paging but you can stretch the definition to cover paging.
This was a point of contention in the early VAX Unix days as the ATT (System
III, even V?) didn’t support paging on the VAX where as BSD did.
In my book, virtual memory is any addressing scheme where the
addresses that the program uses are different from the physical memory
addresses. Nowadays most OSes use a scheme where each process has its
own virtual address space, and virtual memory is demand-paged from
backing store on disk. But there have been other schemes.
Some PDP-11 models had a virtual addressing feature called PLAS
(Program Logical Address Space). The PDP-11 had 16-bit addressing,
allowing for at most 64K per process. To take advantage of physical
memory larger than 64K, PLAS allowed multiple 64K virtual address
spaces to be mapped to the larger physical memory. Sort of the
reverse of the usual virtual addressing scheme, where there is more
virtual memory than physical memory.
IBM Disk Operating System for the System/370 (DOS/VS) had a single
virtual address space that could be bigger than physical memory and
was demand-paged. This address space could be divided into up to five
partitions, each of which could run a program. Each partition thus
represents what we now call a process. IBM OS/VS1 and OS/VS2 SVS also
had a single virtual address space shared by all tasks (processes).
OS/VS2 MVS had the modern concept of a separate virtual address space
for each process.
Our comment was that “It ain’t VIRTUAL memory if it
isn’t all there” as
opposed to virtual addressing.
Gene Amdahl was not a fan of paging. He said that virtual memory
merely magnifies the need for real memory.
-Paul W.