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

What is a relocatable program, What is a Relocatable program? The Reloc...

What is a Relocatable program? The Relocatable programs can be loaded almost anywhere in memory.

Define multithreading, Define multithreading The proficiency of an oper...

Define multithreading The proficiency of an operating system to execute different parts of a program called threads simultaneously is called as multithreading. A thread is a fl

Describe what is meant by client-server computing, Question 1: (a) Desc...

Question 1: (a) Describe what is meant by Client-server Computing? (b) Distinguish between a server process and a client process. (c) What are the basic characteristics o

Linear Programing, . A paper mill produces two grades of paper viz., X and ...

. A paper mill produces two grades of paper viz., X and Y. Because of raw material restrictions, it cannot produce more than 400 tons of grade X paper and 300 tons of grade Y paper

Sector sparing, What is sector sparing is proper definition

What is sector sparing is proper definition

What are the two types of fragmentations, Questiion 1 Use Priority Sche...

Questiion 1 Use Priority Scheduling Algorithm to schedule the following processes        Process                 Burst Time             Priority/Time            P1

Explain logical file system architecture, Logical File System Responsi...

Logical File System Responsible for providing the before discussed interface to the user including: File access. Directory operations. Security and protection.

Main advantages of the microkernel approach to system design, What are the ...

What are the main advantages of the microkernel approach to system design? Benefits typically contain the following  (a) Adding a new service does not require modifying the

What are the multithreading models, What are the multithreading models? ...

What are the multithreading models? There are three models:- a) Many-to-One model b) One-to-One model c) Many-to-Many model

Explain the different multithreading models, Question 1: a) Briefly exp...

Question 1: a) Briefly explain each of the following terms: (i) Distributed systems. (ii) Real time systems. (iii) Multiprocessor. b) What is the impo

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