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

List the task regions in the spiral model, List the task regions in the Spi...

List the task regions in the Spiral model.  Customer communication - In this region it is suggested to set up customer communication.  Planning - All planning activities

Define an imperative statement, Determine an imperative statement Imper...

Determine an imperative statement Imperative statement points out an action to be carried out during execution of assembled program

BC0056, Write a C program that illustrates the creation of child process us...

Write a C program that illustrates the creation of child process using fork system call. One process finds sum of even series and other process finds sum of odd series.

Application of consumer behaviour, Q. Explain application of consumer behav...

Q. Explain application of consumer behaviour? Consumer behaviour is described as the dynamic interaction of affect and cognition and behaviour and the environment by human bein

Basic server model, Suppose we want to program a Web server; we could easil...

Suppose we want to program a Web server; we could easily do so without using concurrency, as follows: while(true) wait connection read from socket and parse url look up url cont

What are the deadlock prevention methodologies?, What are the deadlock p r...

What are the deadlock p revention methodologies? a.       Necessitate that processes request all resources before starting - if cannot be granted don't run. b.      Process

Error detection, about error detection in operating system and how does it ...

about error detection in operating system and how does it take place?

Explain the advantage of assembly language, Explain the Advantage of Assemb...

Explain the Advantage of Assembly Language The advantages of assembly language program is: a)    Reduced errors  b)    Faster translation times  c)    Changes could be ma

Mention the various features that characteristics deadlock, Mention the var...

Mention the various features that characteristics the deadlock condition .  The four circumstances that give rise to deadlock condition are: 1) Mutual exclusion : As a minim

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