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

Linux, Discuss the risks of having a single root user

Discuss the risks of having a single root user

What is an effector process, What is an effector process? The effector ...

What is an effector process? The effector process is a method that verifies itself.The effector process exists in particular criteria.

Software for business management integrated into network, Software for busi...

Software for business management integrated into a social network Project Description: We are seeking top professionals to build software with us that manages the business.

Explain swapping technique used in pre-3bsd unix systems?, What are the dis...

What are the disadvantages of swapping technique used in pre-3BSD UNIX systems? If there is excessively much memory contention, processes are swapped out until sufficient

Define properties of distributed operating system, Define properties of Dis...

Define properties of Distributed operating system Distributed:- This system distributes computation among several physical processors. The processors do not share memory or a

What are the benefits of thread pools, What are the benefits of thread pool...

What are the benefits of thread pools:- The benefits of thread pools are 1. It is usually faster to service a request with an existing thread than waiting to make a thread.

Explain process description in the unix system, Process Description A pr...

Process Description A process in UNIX is a somewhat complex set of data structures that provides the operating system with all of the information necessary to dispatch and manag

Buffer, What is bounded buffer

What is bounded buffer

Define the scheduling in multitasking, Define the Scheduling in Multitaskin...

Define the Scheduling in Multitasking Earlier we learned the concepts and advantages of multitasking. In a system in which one or more tasks( threads or processes) attempt to s

Diehard allocator - custom allocators, Allocators can also be used to avoid...

Allocators can also be used to avoid problems with unsafe languages. C and C++ are pervasive, with huge amounts of existing code. They are also memory-unsafe languages, in that the

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