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

What is long-term, What is long-term, medium-term, short-term? In a bat...

What is long-term, medium-term, short-term? In a batch system many processes are submitted than are able to be executed immediately. These processes are reel to a mass storage

Explain types of file allocation- linked list allocation, Linked list alloc...

Linked list allocation: At this time the blocks are stored using linked lists. The block size require not be the same. Thus internal fragmentation is avoided. Consider

Explain the architecting for threads, Explain the Architecting For Threads ...

Explain the Architecting For Threads When available, threads are an integral part of any multitasking server application program. It is important that the operating system prov

What are the different files attributes?, What are the different files attr...

What are the different files attributes? File name:-it's the name of the file. It's the name with which the user identifies. Identifiers:-it's created when a file is created

Thread pools, Another solution then would be to keep a pool of threads. Whe...

Another solution then would be to keep a pool of threads. Whenever a new task arrives, the system would simply get a thread from pool and set that thread to work on the given task.

Evaluate the physical address, Compare between the one and two-dimensional ...

Compare between the one and two-dimensional memory organizations in terms of the  memory structure,  advantages, and disadvantages.  Which approach would better support the needs o

What is the drawbacks of contiguous allocation of disk space, What are the ...

What are the drawbacks of contiguous allocation of disk space? The disadvantages are a. Suffers from internal fragmentation b. Suffers from external fragmentation c. F

Explain first fit algorithm, FIRST FIT ALGORITHM Scanning a list along...

FIRST FIT ALGORITHM Scanning a list along with if a free hole is available with necessary space for the process to allocate it allocates the process in that space. The first s

What is a message passing system, Question 1 What is a message passing sys...

Question 1 What is a message passing system? Discuss the desirable features of a message passing system Question 2 Discuss the implementation of RPC Mechanism in detail Q

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