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
explain in detail about ipc in linux

Write pseudo code to implement the pthread_create wrapper of the Tern memoizer. Note you need to describe your data structure for maintaining deterministic thread IDs. In addition,

What is a reference string? An algorithm is evaluated by running it on a particular string of memory references and computing the number of page faults. The string of memory re

Operating Systems 1. Explain Micro-kernel? Specify the benefits of Micro-kernel? 2. Describe seven state process models used for OS with necessary diagram. Differentiate bet

People arrive at a barber shop at the rate of one every 4.5 minutes. If the shop is full (it can hold five people altogether), 30% of the potential customers leave and come back i

What are Tree-structured directories We can generalize the directory structure to a tree of arbitrary height. This permits the user to create their own sub directories and to c

Question: (a) Red Hat Linux is distributed under the Open Source agreement. Explain what you understand by Open Source distribution system. (b) Write a short note on the L

Demand paging With demand paging, a page is called into memory only when a location on that page is actually indexed during run time. With pre-paging, pages other than the one

Q. What is the occupation of the object manager? Answer: Substance present a generic set of kernel mode interfaces to user mode programs. Objects are influenced by the execut

Explain the Request/Response Interface   Many issues are involved in providing a procedural interface for client functions to interact with server components. First off, since