Mark-sweep, Operating System

Assignment Help:

The objects that a program can access directly are those objects which are referenced by local vari-ables on the processor stack, or by any global/static variables that refer to objects, or by variables in CPU registers. In the context of garbage collection, these variables are called the roots. An object is indirectly accessible if it is referenced by a ?eld in some other (directly or indirectly) accessible object. An accessible object is said to be live. Conversely, an object which is not live is garbage.

Note that heap objects which are live are indirectly accessible from the roots or other heap objects. The idea of mark-sweep is relatively straightforward. We start at the roots, and recursively visit every object accessible through pointers, marking them as live. At the end of the process, every thing not marked is considered garbage and will be deleted. Notice that mark-sweep can perform lazy garbage collection, in the sense that it does not necessarily need to remove the garbage immediately.

Note thatmark-sweep does not clean upmemory which is allocated, but simply never used. Also, periodically we have to visit all objects recursively, starting from the roots. For a large program, this will be slow. This is a problem with the traditional mark-sweep algorithm.


Related Discussions:- Mark-sweep

Explain time-sharing environment, In a multiprogramming and time-sharing en...

In a multiprogramming and time-sharing environment, several users share the system simultaneously. This situation can result in various security problems. a

What is the purpose of system calls, Q. What is the purpose of system calls...

Q. What is the purpose of system calls? Answer: System calls permit user-level processes to request services of the operating system.

Garbage collection, The dynamic memory allocator is a layer between the app...

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), t

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

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

Does windows xp offer any user-mode processes, Q. Does Windows XP offer any...

Q. Does Windows XP offer any user-mode processes that enable it to run programs developed for other operating systems? Describe two of these subsystems. Answer: Environmental

Determine the syntax of the assembler directive equ, Determine the syntax o...

Determine the syntax of the assembler directive EQU The following is syntax of the assembler directive EQU: EQU

Define local procedure call, Q. What kinds of services does the process man...

Q. What kinds of services does the process manager provide? Define local procedure call? Answer: The process manager offers services for creating and deleting and using proce

Semaphore, mention the three problems that mat be caused by wrong initializ...

mention the three problems that mat be caused by wrong initialization and placement of wait() and signal()operations in the use of semaphore

What is the purpose of the virtual memory in windows xp, Question: a) T...

Question: a) The following refers to optimization under Windows XP: i) Give five steps which could undertake to enhance overall system performance in a default Windows XP in

Explain interrupts, Interrupts The hardware mechanism that enables a de...

Interrupts The hardware mechanism that enables a device to inform the CPU is called an interrupt. The basic interrupt mechanism works as follows. The CPU hardware has a wire kn

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