[Simh] Memories are made of this ...
Johnny Billquist
bqt at softjar.se
Sun Feb 18 04:55:27 EST 2018
On 2018-02-17 18:15, dave porter wrote:
>> From: Johnny Billquist <bqt at 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: bqt at softjar.se || Reading murder books
pdp is alive! || tryin' to stay hip" - B. Idol
More information about the Simh
mailing list