Reference counting, Operating System

Assignment Help:

The idea of reference counting is to maintain, for every object, the total number of references to that object, i.e. the number of "incoming" pointers. Whenever the number of references is zero we know that the object is not accessible through any pointers, and thus it is garbage. Also, whenever we choose to delete some useless object,we have to recursively check that object to see if it contains pointers to other objects; if so, we have decrement the reference counters for those objects as well. One problem of reference counting, though, is how to deal with cycles. Suppose object A points to B, and B points to A. If these objects can only be reached through each other, we have to free them too, even though their counters are not zero! Note that cycles can common inmany data structures; for example, consider a doubly-linked list. The commonly adopted solution to this problem is to run mark-sweep now and then, in order to remove cyclic references, and then run normal reference counting on the rest of the time.


Related Discussions:- Reference counting

File system versus swap space, Q. What are the tradeoffs concerned in rerea...

Q. What are the tradeoffs concerned in rereading code pages from the file system versus using swap space to store them? Answer: If codes pages are accumulate in swap space th

Deadlocks, At the end of this lecture, and into the next lecture, we will d...

At the end of this lecture, and into the next lecture, we will discuss the last major type of logical error that can occurwhen programming with threads. A deadlock occurswhen two t

Is computers protect the operating system, Q. Some untimely computers prot...

Q. Some untimely computers protected the operating system by placing it in a memory partition that couldn't be modified by either the user job or the operating system itself. Expl

Explain about deadlocks, Q. Explain about Deadlocks? Deadlocks for (...

Q. Explain about Deadlocks? Deadlocks for (int i = 0; i // first find a thread that can finish for (int j = 0; j if (!finish[j]) { boolean temp = true; for

What is super block, What is super block A partition control block have...

What is super block A partition control block have partitions details, such as the number of blocks in the partition, size of the blocks, free-blocks and free-block pointers an

Explain working of the logical file system, Explain working of the logical ...

Explain working of the logical file system The logical file system manages metadata information. Metadata contains all of the file-system structure, excluding actual data. It h

What is a reference string, What is a reference string? An algorithm is...

What is a reference string? An algorithm is evaluated by running it on a particular string of memory references and computing the number of page faults. The string of memory re

Define a daemon process , A daemon is a process that removes itself from t...

A daemon is a process that removes itself from the terminal and disconnected, executes, in the background, waiting for requests and responding to them. It may also be described as

Explain the exitthread function used in the windows nt, Explain the ExitThr...

Explain the ExitThread Function used in the Windows NT ExitThread(ExitCode) The ExitThread( ) call is made to end the currently running thread. If the current thread is 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