03. Choose the correct alternatives (more than one may be correct) and write the corresponding letters only:
(iii) The total size of address space in a virtual memory system is limited by:
Answer is (a) and (b).
Virtual memory concept is independent of size of main memory and depends only on the availability of the secondary storage.
MAR holds the address generated by CPU and this obviously limits the total virtual memory address space.
Here the question ask about the total size of address space in a virtual memory system is limited by whome
Plz read the MAR concept in ur given link and also read the following link
See this figure:
So, a memory address (in a virtual memory system it will be virtual address) must be held in MAR before the content of that address is fetched to CPU. So, size of MAR decides how much virtual memory CPU can access. If MAR is 32 bits, virtual memory size can be only 232 bytes assuming byte addressing.
Address space in a virtual memory system means the virtual address space. So, size of address space is nothing but size of virtual memory.
"size address space is directly decided by secondary memory size"
This is not true.
"size of address space is LIMITED by secondary memory size"
"size of address space is not decided by MAR length, it is limited by MAR length"
Say if A is limited by B+C, we won't say A is limited by B or A is limited by C.
"so MAR will have 32 bits"
This is alos wrong. MAR has no relation to physical memory size or swap space.
MAR contain memory address. On systems with no virtual memory this is physical address. On VM systems, this address is virtual address. MAR hold the address generated by CPU and if this is holding physical address, then virtual memory cannot exist.
That part is not in that document. But CPU has no knowledge of actual address. And it is the CPU which writes to MAR. Hence, it should be virtual address. The below link makes this clear.
By "Virtual Memory system", they mean "process or program which we store in RAM" (Physical memory system means RAM itself)
A) is TRUE because if MAR size is 32 bits ..then we cannot have a process of size more than 232 addressable units (say Bytes)... If we have (232 +1) bytes then one of the byte cannot be accessed by CPU as MAR has only 32 bits instead of 33 bits ...
B) is TRUE because though we can have process of size more than the RAM size using Virtual Memory concept.. we cannot have a process of size more than Hard-disk size ...
C) is FALSE because we can have a process of size more than RAM as we saw ...
Good explanation. @Vicky rix