[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