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

Assignment, Ask question #Minimum 100 words accDefine Hashing System. Descr...

Ask question #Minimum 100 words accDefine Hashing System. Describe the Hashed page table with example and mapping figure.

Define drawback of distributed systems, Define drawback of Distributed syst...

Define drawback of Distributed systems Reliability is a drawback of Distributed systems

Choice of operating systems to boot from, Q. How could a system be designed...

Q. How could a system be designed to allow a choice of operating systems to boot from? What would the bootstrap program need to do? Answer: Delieve a system that would like to

What is the occupation of the object manager, Q. What is the occupation of ...

Q. What is the occupation of the object manager? Answer: Substance present a generic set of kernel mode interfaces to user mode programs. Objects are influenced by the execut

Define field that contain segment index or an internal index, The field tha...

The field that consists of a segment index or an internal index is known as Target datum is field that consists of a segment index or an internal index.

Is disk scheduling except fcfs scheduling, Q. Is disk scheduling except FC...

Q. Is disk scheduling except FCFS scheduling useful in a single-user environment? describe your answer. Answer: In a single-user environment the I/O queue typically is empty.

Analysis of Pseudocode Sempahore Solution, Gopher Gallery consists of a sho...

Gopher Gallery consists of a shopping mall and a cart ride that covers the 150 acre habitat. There are m visitors and n single-person vehicles. Visitors stroll around the mall at

What is banker''s algorithm, What is banker's algorithm? Banker's algor...

What is banker's algorithm? Banker's algorithm is a deadlock avoidance algorithm that is applicable to a resource-allocation system with multiple examples of each resource type

Unix, what is difference between file descriptor and file pointer?

what is difference between file descriptor and file pointer?

Define the turn-around time of a user job, Define the “turn-around” time of...

Define the “turn-around” time of a user job Turn- around time is total time taken to execute the job.

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