Microsoft Interview Question
Software Engineer / DevelopersCountry: India
Interview Type: In-Person
Well i acknowledge your answer ...almost same is the answer i gave in interview but its wrong!
No issues. It is not the wrong answer the thing is on a modern 64 bit OS you can have more and more Virtual memory depending on the number of Processes and available HD.
It depends upon process, If OS does not find enough space in internal memory then it use external memory for that process, or other process, to run that process. as all blocks are not needed at anytime, so OS uses lest required external memory to run that process. but there is no restriction on size. It depends upon OS performance, and and in some sense on processing speed..
In Some OS the size of virtual memory allocated to all the processes cumulative is equal to the total physical memory and the swap space configured. (e.g. Solaris).
But in some OS according to the word size 32 bit or 64 bit address spaces are given to each and every process. When the process try to lock or map the virtual address to real or physical address, then if the mapping can be done, It is done otherwise a run time exception occurs.
This concept is called memory overcommit. So the total virtual address given to all the processes is all the address range either 32 bits or 64 bits accordingly. But some address range is reserved for either kernel space or treated as a hole.
Total Virtual memory depends on the number of processes.
- Abhi January 27, 2013Older OS would alloy 3 times memory as Virtual available there is no restriction.