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

Activities of operating system - memory management, Q. What are the three m...

Q. What are the three main activities of an operating system in regard to memory management? Answer: a. Keep follows of which parts of memory are currently being used and

What is the benefits os co-operating process, What is the benefits OS co-op...

What is the benefits OS co-operating process? Information sharing. Computation speeds up. Modularity. Convenience.

Operating systems, Ask using a laballed diagram explaining the architecture...

Ask using a laballed diagram explaining the architecture of windows operating ststem

Define unix device driver, Define UNIX device driver The UNIX device dr...

Define UNIX device driver The UNIX device driver is structured into two halves called top half and bottom half

Cpu scheduling alogarithm program in javascript, a program that can do cpu ...

a program that can do cpu scheduling algorithm priority using javascript or php to display gaant chart and calculate waiting and average waiting time

Buffer, Ask question #Minimum 100 words accepted application of bounded and...

Ask question #Minimum 100 words accepted application of bounded and unbounded buffers

Define criterion for classification of data structures, Define what can be ...

Define what can be used as a criterion for classification of data structures utilized in language processing              Answer: nature of a data structure, lifetime of a dat

Describe the file system architecture, Describe the file system architectur...

Describe the file system architecture. File System Architecture contains the subsequent components:- Device Driver 1 Device Driver 2 Device Driver 3 Basic fi

Multiprogramming, how response times are reduced by allowing time sharing o...

how response times are reduced by allowing time sharing on top of multiprogramming

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