4.2k views

A computer system supports $32$-bit virtual addresses as well as $32$-bit physical addresses. Since the virtual address space is of the same size as the physical address space, the operating system designers decide to get rid of the virtual memory entirely. Which one of the following is true?

1. Efficient implementation of multi-user support is no longer possible
2. The processor cache organization can be made more efficient now
3. Hardware support for memory management is no longer needed
4. CPU scheduling can be made more efficient now
edited | 4.2k views
+1
ans of this is c in many books like made-easy....... wikipedia also.
+2

If u have basic knowledge about virtual memory u can easily get it.

A is the best answer here.

Virtual memory provides

1. increased address space for processes
2. memory protection
3. relocation

So, when we don't need more address space, even if we get rid of virtual memory, we need hardware support for the other two. Without hardware support for memory protection and relocation, we can design a system (by either doing them in software or by partitioning the memory for different users) but those are highly inefficient mechanisms. i.e., there we have to divide the physical memory equally among all users and this limits the memory usage per user and also restricts the maximum number of users.

edited by
+1

@Arjun sir, I do think that (C) is the answer. Wikipedia says :

–1
pls correct your ans Arjun sir
+1
Why? :O
–1
sir virtual address space same as physical then 1 process will reside in memory then why we need protection and relocation
+1
^Why only 1? Then how can multiple users use the system?
–1
because virtual address space is 32 bit long .
+1
So, how multiple users use the system- actually multiple users always imply multiple processes.
0
sir ,we can use segmentation  so more than 1 process can reside in main memory so multiprograming is supported it can support  multiuser system . Beacuse many processes in main memory we  need protection and relocation .  now i am correct?
+2
Yes, more or less. Segmentation is also a virtual memory technique. But we can statically partition the memory and give to different processes. But say with 10 jobs, we effectively reduce the memory available to 1/10th. So, for this reason they added "efficient implementation" and not just "implementation" in option A.
0
Sir, according to your answer only if we remove hardware support along with VM , only then efficient implementation of multi-user support is not possible right ? So does that mean if option C happens only then option A will occur ?
+1
When you are talking about the hardware support for memory management, simple paging or simple segmentation requires memory management unit(MMU) too. But this doesn't involve virtual memory. You can refer stallings on this one. Demand paging requires h/w support for efficiently implementing multi user support. Because if there is no hardware support, you got to do it by other means. Using s/w approach or partitioning memory among users on some priority or whatever would consume admin time or CPU cycles. This is clearly inefficient. a is the answer.
+2
We can also say that one of the goals of memory management is efficient utilization of memory.
Compaction is a technique which helps to combat external fragmentation.
And compaction is possibly only via dynamic relocation which needs hardware support of relocation registers.
So, Hardware support for memory management is still needed for efficient utilization of memory.
+1
yes (A) is the best possible option here, hardware will still be needed to provide "memory protection" even in the case when PAS >= VAS.
0

UGC itself has given C as the correct answer. Check the link given below:

http://www.ugcnetonline.in/updated_keys/J2012_updatekeys/SC087_III.pdf

:\

+3
If this question comes in any other competitive exam i am sure that they will give marks for answer C though A is correct. That's the power of copying....  :(
If there is no Virtual memory ,we cannot increase the degree of multiprogramming. so Option A)
+1
no.. it's (C)

explaination:

MTU is no longer required.. because every thing is in now in memory since, address space are same that means size of the memories are same..

(A) is false.. earlier every thing was in virtual memory, now the same thing is in memory.. does that will reduece degree of multi user.. The number of user gonna be same because the size of memory is same is still same for them.... isn't it?
+2
How the physical memory will be divided per user?
0
I dont' know..!!

Am I wrong??.. please explain it sir then.
0
The same way as it happens in vm option c is right
+5
A is the best answer here.
0
Multi User can be provided by Code sharing i guess. Suppose a Main PC is there with no virtual mem concept and now its client can access it ans every client has separate data area and common code area.
0
Suppose if RAM of capacity 64 or 128 MB to be used by the CPU resources. This amount of RAM is not sufficient to run all applications that are used by most users in their expected way and all at once. For example, an e-mail program, a web browser and a word processor is loaded into RAM simultaneously; the 64 MB space is not enough to store all these programs. In the absence of virtual memory, a message “Sorry, you cannot load any more applications. Please close an application to load a new one.” would be displayed. With the use of virtual memory, a computer can look for empty areas of RAM which is not being used currently and copies them on to the hard disk device. This process frees up RAM to load new applications. As it is done automatically, the user do not even know that it is happening, and the user feels like RAM has unlimited space even though the RAM capacity is 32 MB. The fact that hard disk space is much cheaper than RAM chips allows virtual memory also as a nice economic benefit. So, option A, is the best option.
0
We are removing concept of VM not the HDD where all the programs stored So who are claiming that every thing will be in main memory are wrong since suppose if you need to load another process whose program is in HDD How would you loaded without HW support.
+1

here the question is about Hardware support for memory management. Not to load a program.... Loading a program into memory without hardware support doesn't make any sense...  I.e. to make effective use of available memory using memory management techniques like demand paging... If virtual memory is not available then we don't have the advantage to run multiple programs simultaneously. But we can run programs using basic techniques like contiguous allocation, non contiguous allocation, paging and segmentation... This makes Efficient implementation of multi-user support is no longer possible would be the appropriate choice here....

0

vamsi2376 where did u get this?

+1 vote
Page 348 Stallings 6th edition

In simple paging, processor uses page number, offset to calculate absolute address.

Hence, A.
–1 vote
answer c is correct because the hardware support  for virtual memory mapping to physical memory are registers required for page table implementation basically PBTR  register and  TLB for caching the pages, now because the concept of virtual memory is removed hence no hardware components are required.
+1
without virtual addressing we can do sharing of memory???