On 2018-02-17 18:15, dave porter wrote:
From: Johnny Billquist <b...@softjar.se>
And an even stronger curmudgeon warning here then.

According to the terminology I (another curmudgeon) grew
up on and still use, you're conflating virtual addressing and
virtual memory.

Uh... A virtual address give the address to a virtual memory cell.

Virtual addressing is where each job/task/process/etc gets
its own address space. This can be implemented by something
as simple as datum and limit registers.  The benefits include
mutual protection and the ability to link independently of
the eventual load address.

(i.e., the addresses are virtualized, the addressed storage
  is not)

Yes. But that also means that you need have some backing store for the data stored at those virtual addresses, or else it don't mean anything. And that backing store is memory, which then is virtual. This virtual memory can then, in turn, either be backed by physical memory, or by some secondary storage. Don't matter. It is backed by some storage, or else it won't exist.

Virtual memory is where not all of a virtual address space
is necessarily backed by storage directly addressable by
the processor, at any given point in time. The benefits
include more efficient use of physical memory and the
ability (given enough address bits) to have an address
space exceeding physical limits, without burdening the
app programmer with managing the migration.

(i.e., the addressed storage is itself virtualized)

I never said it all had to be backed by storage directly addressable by the processed at any given point in time. Virtual memory just means that it has the appearance of being your own, private memory. It might, or might not be backed by physical memory at any specific point in time. I also said that on some machines, where the virtual memory space is rather small, and physical memory is large, it is common that the system either have all or none of the virtual memory mapped to physical memory at the same time, but that is just one implementation, and not a requirement.

However, if you want to have virtual memory where not all of memory is backed by physical memory at the same time, then you normally require an additional mechanism, called demand paging. Demand paging is not virtual memory per se, but a mechanism for handling virtual memory where you only have parts of the virtual memory mapping into physical memory. But don't make the mistake of thinking that demand paging is virtual memory. They are two different things, and you have can virtual memory without demand paging.

  Johnny

--
Johnny Billquist                  || "I'm on a bus
                                  ||  on a psychedelic trip
email: b...@softjar.se             ||  Reading murder books
pdp is alive!                     ||  tryin' to stay hip" - B. Idol
_______________________________________________
Simh mailing list
Simh@trailing-edge.com
http://mailman.trailing-edge.com/mailman/listinfo/simh

Reply via email to