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

Explain process state with diagram, Question 1 Explain single Partition Al...

Question 1 Explain single Partition Allocation and Multiple Partition Question 2 What is PCB? What useful information is available in PCB? Question 3 Explain Preemptive and No

Explain deadlock, Explain Deadlock Every process in a set of processes ...

Explain Deadlock Every process in a set of processes is waiting for an event which only a process in the set can cause.

Semaphores, how do semaphores help us in eliminating deadlock conditions?

how do semaphores help us in eliminating deadlock conditions?

Define request edge and assignment edge, Define request edge and assignment...

Define request edge and assignment edge. Answer:  A directed edge from process Pi to resource type R j is denoted by Pi->j; it signifies that process Pi requested an instance

Describe paging algorithm needs a reference bit, Q. Suppose that you want ...

Q. Suppose that you want to utilize a paging algorithm that requires a reference bit (such as second-chance replacement or working-set model) however the hardware does not provide

Define paging , Paging: Only the needed memory pages are moved to main me...

Paging: Only the needed memory pages are moved to main memory from the swap machine for execution. Process size does not matter. Produce the concept of the virtual memory. It

Difference between two tier and three tier architectures, Question: a) ...

Question: a) Illustrate with the help of a diagram, the difference between two tier and three tier architectures. b) Explain in what kind of environment, a peer to peer envi

Control the access of the three global variables, Give a brief introduction...

Give a brief introduction about the operation of your program and show that you understand the idea behind threads and mutual exclusion variable. Why do we need to use mutual exclu

Explain general graph directory, General graph directory The serious pr...

General graph directory The serious problem with using an acyclic-graph structure is ensuring that there are no cycles. When we insert links to an existing tree-structured dire

Explain indexed allocation, Indexed allocation Indexed allocation bring...

Indexed allocation Indexed allocation bringing all the pointers together into one location: the index block. Every file has its own index block, which is an array of disk-block

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