Conservative garbage collection, Operating System

Assignment Help:

Conservative GC can be used for languages such as C and C++, which were not explicitly designed for garbage collection. This is a non-copying technique. A conservative garbage collector is one that, instead of knowing the exact location of each object, discovers the set of live objects by scanning a region of memory, looking for areas that may be objects. Because C and C++ allow casting, anything that can hold a pointer could conceivably be a pointer, such as an unsigned long which is cast as a pointer, or a ?oating-point type which is cast as a pointer, etc. Conservative GC more or less uses the "duck test", paraphrased here as "if it looks like a pointer and acts like a pointer, it's probably a pointer". Starting from the roots, we can ?nd all objects which look like pointers, and the objects to which they would point if they were in fact pointers, and mark those objects as live. By doing this, we can provide garbage collection to languages which otherwise would not support it.

The possible objects found may or may not actually be objects, but we are ensured that all live objects referred to from that particular area are found by the garbage collector. Since we must discover the areas that might be objects, we also have to know how to identify pointers; usually, if something looks like a pointer, we assume it is a pointer. Then, conservative GC traces through those "pointers", marking everything that is still live.

Some of the drawbacks of this method are: 1) areas of memory that look like pointers to objects, but aren't, cause garbage objects to be retained as long as the fake pointer exists; this increases memory usage of the garbage collector, and can cause other limited resources to be exhausted; and 2) the methods of ?nding exactly which areas to trace aren't always portable.


Related Discussions:- Conservative garbage collection

Explain what isam, Explain what ISAM is. Indexed sequential access meth...

Explain what ISAM is. Indexed sequential access method. The file is stored in sorted order. ISAM has a master index file, indicating in what part of another index file the key

Illustrate different ways that threads could be implemented, Q. Multithread...

Q. Multithreading is a commonly utilized programming technique. Illustrate three different ways that threads could be implemented. Describe how these ways compare to the Linux clon

Deadlock, Suppose we have 3 processes running at the same time as shown in ...

Suppose we have 3 processes running at the same time as shown in the following table. Each resource only has one instance. Show a possible scenario of resource allocation that r

What are the issues in designing a network-fault tolerance, Fault tolerance...

Fault tolerance : Machine failures, Communication faults, storage device crashes, and decays of storage media must be tolerated by the system to some extent. A fault tolerant sy

Explain the various page replacement strategies, Explain the various page r...

Explain the various page replacement strategies. Page replacement-basic scheme with diagram Optimal page replacement LRU page replacement FIFO page replacement LRU

Describe the possible rmi invocation semantics, Question: (a) Briefly d...

Question: (a) Briefly discuss and describe the possible RMI invocation semantics. (b) (i) What is data marshaling? (ii) Explain the role of a remote object reference dur

Explain important fuction of virtual file system, Virtual File System serve...

Virtual File System serves two important functions. 1. It divides file-system-generic operations from their execution by defining a clean VFS interface. 2. The VFS is based

Removing system dependencies, Removing System Dependencies Because port...

Removing System Dependencies Because portions of the client - server application program may execute on different machines, it is very important for the developer to remove the

BC0056, Write a C program that illustrates the creation of child process us...

Write a C program that illustrates the creation of child process using fork system call. One process finds sum of even series and other process finds sum of odd series.

Explain fifo page replacement in detail, FIFO page replacement This is...

FIFO page replacement This is the easiest page replacement algorithm. Here the 1 st page toward the inside is the 1 st to leave that is the oldest page leaves. To execute th

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