Mark-sweep, Operating System

Assignment Help:

The objects that a program can access directly are those objects which are referenced by local vari-ables on the processor stack, or by any global/static variables that refer to objects, or by variables in CPU registers. In the context of garbage collection, these variables are called the roots. An object is indirectly accessible if it is referenced by a ?eld in some other (directly or indirectly) accessible object. An accessible object is said to be live. Conversely, an object which is not live is garbage.

Note that heap objects which are live are indirectly accessible from the roots or other heap objects. The idea of mark-sweep is relatively straightforward. We start at the roots, and recursively visit every object accessible through pointers, marking them as live. At the end of the process, every thing not marked is considered garbage and will be deleted. Notice that mark-sweep can perform lazy garbage collection, in the sense that it does not necessarily need to remove the garbage immediately.

Note thatmark-sweep does not clean upmemory which is allocated, but simply never used. Also, periodically we have to visit all objects recursively, starting from the roots. For a large program, this will be slow. This is a problem with the traditional mark-sweep algorithm.


Related Discussions:- Mark-sweep

Semantics for execution of rpcs, Q. Presume that a distributed system is su...

Q. Presume that a distributed system is susceptible to server failure. What mechanisms would be needed to guarantee the exactly once semantics for execution of RPCs? Ans

First-in-first-out (fifo), FIFO is named as 'named pipes'. FIFO (first-in-...

FIFO is named as 'named pipes'. FIFO (first-in-first-out) is a special file which is laid to be data transient. Once data is load from named pipe, it cannot be load again. Also, da

Define jobs which are admitted to the system for processing, Define the Job...

Define the Jobs which are admitted to the system for processing is called The Jobs which are admitted to the system for processing is known as long-term scheduling.

Ubuntu shell script - linux, Task 1 description: Design and implement the ...

Task 1 description: Design and implement the disableuser.sh script. Required script functionality: disableuser.sh -v : prints the script version number and exits dis

Explain message passing system, Message passing system:- The function o...

Message passing system:- The function of message system is to permit processes to communicate with one another without the requirement to resort (option) to shared data. Commun

Assignment, Ask question #Minimum 100 words accDefine Hashing System. Descr...

Ask question #Minimum 100 words accDefine Hashing System. Describe the Hashed page table with example and mapping figure.

Algorithm for reconstructing a logical ring, Q. Present an algorithm for re...

Q. Present an algorithm for reconstructing a logical ring after a process in the ring fails? Answer: Typically distributed systems utilize a coordinator process that performs

What are threads?, What are threads? A thread is alike to sequential pr...

What are threads? A thread is alike to sequential programs. Single threads have a beginning, sequence and end. At any given point in time during the runtime of the thread there

What is micro-kernel?, Question 1 What is Micro-kernel? What are the benef...

Question 1 What is Micro-kernel? What are the benefits of Micro-kernel? Question 2 Explain seven state process models used for OS with necessary diagram. Differentiate betwee

Define what an assembler is, Define what an assembler is An assembler i...

Define what an assembler is An assembler is machine dependant.

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