Garbage collection, Operating System

Assignment Help:

The dynamic memory allocator is a layer between the application and the OS, managing heap objects. When a program requests memory from the allocator (via malloc(), for instance), the allocator will return a pointer (or reference) to a piece of memory of the appropriate size. When the program is done with the memory, the memory should be released back to the allocator. Languages such as C and C++ leave this job to the programmer to perform manually, for example by using free(). On the other hand, languages such as Java, python, etc automatically manage dynamically-allocated memory, which makes the programmer's life easier, and can eliminate entire classes of memory management bugs.

Although using free() and delete is relatively simple, it can be tricky to get them right. A signi?cant fraction of bugs in C and C++ programs are related to manual memory management. If we forget to free objects, we end up with memory leaks; if we free memory too soon, we end up with "dangling pointers"; also, we can try to do weird things, like performing double frees, etc. Therefore, a process that manages memory automatically is clearly useful. The most important concept for correctly implementing a garbage collector is that of live objects: a live object is any object that can still be reached through one (or more) pointers.


Related Discussions:- Garbage collection

Is the internet a lan or else a wan, Q. Is the Internet a LAN or else a WAN...

Q. Is the Internet a LAN or else a WAN? Answer: The Internet is a WAN as the a variety of computers are located at geographically different places and are connected by long-dis

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

Need of shift alteration in critical section problem?, Explain with an exam...

Explain with an example the need of Shift Alteration in critical section problem? Consider processes P i and P j and consider the algorithm for P i and P j .

How memory utilization factor shall be computed, How Memory utilization fac...

How Memory utilization factor shall be computed  Memory utilization factor shall be defined as Memory in use/total memory connected

What is a semaphore, Question 1: a) State the different file attribute...

Question 1: a) State the different file attributes and briefly explain the operations that can be performed on each files. b) What is a semaphore? Describe why it is impor

Linux, write a linux command to display lines from 25 - 45 of directory "/e...

write a linux command to display lines from 25 - 45 of directory "/edc/password" write a linux command to display directory in /edc

Transportation, what are the factors influencing the choice of a mode of tr...

what are the factors influencing the choice of a mode of transportation?

Explain memory management using bit maps, MEMORY MANAGEMENT USING BIT MAPS ...

MEMORY MANAGEMENT USING BIT MAPS   In this memory is separated into different allocation units each of some particular size(a few bites).consider every space of size 4k. A

Dynamic scheduling, Dynamic scheduling : The number of thread in a program...

Dynamic scheduling : The number of thread in a program may be changed during the course of operation. Dynamic priority scheduling is a kind of scheduling algorithm in which the pr

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