Sharing memory, Operating System

As we have discussed, page tables map virtual page addresses to physical page addresses. One of the advantages of using virtual addresses is that we can achieve complete separation between processes, in terms of address spaces. One drawback to this is that it is convenient to be able to share some things, for example library code which would otherwise be replicated wastefully by many different programs. We don't want to have to load exactly the same library code into every process' address space; we'd prefer to map the library code to its own pages, and let all processes share those pages. This will usually reduce the memory requirements for the system. In order to do this, we need to do some common tricks with page tables.

The ?rst important memory-sharing concept is known as Copy-On-Write, or COW. COW shares pages by default, whenever sharing is still possible. Whenever a new process is created, for example by fork(), we "clone" an old process by making a copy of its page tables and marking all referenced pages as read-only.

Then whenever either of the processes (the original one, or the clone) tries to write to one of the pages, the two processes will differ, and sharing is no longer possible. The OS allocates a new page and changes the mapping in one of the page tables. If neither of the processes ever tries to modify a memory location, however, the processes will share the same (read-only) pages forever! COWtries to maximize the amount of sharing at all times.

Posted Date: 3/12/2013 5:54:34 AM | Location : United States







Related Discussions:- Sharing memory, Assignment Help, Ask Question on Sharing memory, Get Answer, Expert's Help, Sharing memory Discussions

Write discussion on Sharing memory
Your posts are moderated
Related Questions
Find the optimal solution and optimal value of the following linear program. Use both (a) the enumerating the corner points method and (b) the iso-profit line method. Also identify


Fault tolerance Machine failures, Communication faults, storage device crashes, and decays of storage media should be tolerated by the system to some extent. A fault tolerant s


What is graceful degradation? In multiprocessor systems, failure of single processor will not halt the system, but only slow it down by sharing the work of failure system by ot

Explain the ExitThread Function used in the Windows NT ExitThread(ExitCode) The ExitThread( ) call is made to end the currently running thread. If the current thread is th

Did Abhinav agree to the initial timeline requested by Rebecca

Explain the Advantage of Assembly Language The advantages of assembly language program is: a)    Reduced errors  b)    Faster translation times  c)    Changes could be ma

When you run a program on your UNIX system, the system prepares a special environment for that program. This environment owns everything needed for the system to execute the progra

explain the link between operations management and strategic planning of daily goods shop