An operating system needs to be chosen to run on a server. Many processes will execute concurrently each of which may contain programs with sparse data structures and stacks and heaps of unknown, but potentially very large size. The processes will require much more total memory than existing physical memory. Memory for each process must in general be protected from damage from other processes, but some shared memory must be possible to allow the processes to communicate. With the aid of a diagram, briefly explain a memory management technique that would be appropriate in these circumstances. [5 Marks]
Possible Answer:
Many process should be executed concurrently which requires each process should be loaded into memory only a portion of it. Meanwhile, the size of process is very large. This give us a hint for using the virtual memory and load only pages when needed(on-demand paging). Virtual memory also helps improve the protection between different processes. In order to achieve inter-process communication, the practical way is to use pipe.