edited by
1,416 views
2 votes
2 votes

A computer system consists of infinitely large primary memory storage capacity. In other words the physical address space exceeds the logical address space significantly in all cases. In such situation which of the following statements regarding virtual memory is necessarily true?

  1. Virtual memory concept can be used to enhance the degree of multiprogramming
  2. Virtual memory concept can be used to allow controlled access to program segments
  3. Virtual memory concept cannot be used in such situation
  4. Virtual memory concept can be used to give multiprogramming capability to system
edited by

2 Answers

Best answer
9 votes
9 votes

The answer should be B

Whole concept of virtual memory was introduced at the times when physical memory was costly and still larger programs have to be run. So, when we have abundent amount of physical space we don't really need virtual memory.

BUT, Virtual Memory can not be turned off.

Operating systems use virtual memory to enforce security by segregating applications into their own address spaces.

By giving applications their own address space every application has access to their entire address range without having to fight other applications for memory regions.

Memory segregation and copy-on-write protections mean that a two applications could be sharing the same libraries and using nearly the same set of code, but are entirely protected from one another. One program crashing or doing something it shouldn't will not cause the other program to die as well.

This is what is called controlled access to program segment.

Your system is always using virtual memory, because it is a key component in any modern operating system design. 

Conclusion, concept of Virtual Memory is useless in this situation but in practicality it is used by the OS nonetheless. 

Please verify! @Ruturaj Mohanty

selected by
2 votes
2 votes

One of the most important aspects of operating systems is the ability to multiprogram.

-- Galvin, page 19

Providing multiprogramming capabilities is the job of the Operating System, and not the Virtual Memory.

And, since the Physical Address Space is significantly larger than the process size in all the cases, VM isn't needed to increase the degree of multiprogramming as the OS can fit in a lot of full processes in the Physical Address Space.

Options A and D are incorrect.

 

But, of course VM can be used regardless.

Even though it's primary functionality is it's ability to include a process larger then the size of Physical Memory (which isn't needed here), it also provides some other functionalities, like protecting the logical address space of a process from some other process, by not allowing the other process to access it.

This is controlled access. So, Option B

Answer: