Sharing memory, Operating System

Assignment Help:

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.


Related Discussions:- Sharing memory

Paging, what is the use of valid invalid bits in paging

what is the use of valid invalid bits in paging

Naming scheme for servers in an enterprise, Problem: Within a corporate...

Problem: Within a corporate environment, there are usually many servers located across various departments. Naming of servers is often a tedious task. In many circumstances, w

Explain the various types of computer systems, Explain the various types of...

Explain the various types of computer systems. Mainframe systems Large Number of CPU with Greatest Processing Power:  Huge Memory Capacity:  Increased Performance by s

Taxation problem, Smith, who is a civil engineer, purchased a 30-hectare bl...

Smith, who is a civil engineer, purchased a 30-hectare block of land in Australia in 1986 and used two hectares of it as a main residence. The part that was not main residence cost

Thread, advantages and disadvantages of kernal level thread

advantages and disadvantages of kernal level thread

Define spooling, Define spooling. A spool is a buffer that holds output...

Define spooling. A spool is a buffer that holds output for a device, like printer, that cannot accept interleaved data streams. When a request finishes printing, the spooling s

NETWORK OPERATING SYSTEM, explain about design issues of network operating ...

explain about design issues of network operating system

Define action that implementing meaning of instruction, Determine how Actio...

Determine how Action implementing instruction’s meaning are a actually carried out   Action implementing meaning of instruction are a actually carried out Instruction executio

Write Your Message!

Captcha
Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd