Keeping track of free memory, Operating System

How do we keep track of where the free pieces of memory are? One idea is to maintain a set of linked-lists of free space; each linked-list will store free chunks of some given size (say, one list for chunks of 4 bytes, one for chunks of 8, 16, etc). This approach resembles the best-?t algorithm, since we can easily ?nd the list with chunks of memory that are the closest to what we need; the difference, of course, is that usually the linked lists store not objects of arbitrary size, but only powers of two. Also, we can never coalesce adjacent elements of the lists, or split elements, since then the very idea of segregating by size classes wouldn't make sense anymore. Another possible technique to keep track of free memory is called Big Bag of Pages (BiBOP). In this technique, a bunch of pages, usually segregated by size classes, is maintained such that there is a header on each page; on this header, among other things, we can ?nd a pointer to the next page of objects of that given size, and also a pointer to the ?rst free "slot" inside that page. Using the right optimizations we can make BiBOP ?nd and manage free slots of memory in O(1).

Posted Date: 3/12/2013 6:06:16 AM | Location : United States







Related Discussions:- Keeping track of free memory, Assignment Help, Ask Question on Keeping track of free memory, Get Answer, Expert's Help, Keeping track of free memory Discussions

Write discussion on Keeping track of free memory
Your posts are moderated
Related Questions
explain about oprating system services and topics briefly

Define CPU scheduling. CPU scheduling is the method of switching the CPU among several processes. CPU scheduling is the basis of multiprogrammed operating systems. By switching

The scheduling technique in which CPU is allocated to the process with least CPU-burst time is known asĀ  Shortest job first Scheduling is a scheduling technique in which CPU i

Q. List the four steps that are essential to run a program on a completely dedicated machine. Answer: a) Reserve machine time b) Manually load program into memory c)


What are the drawbacks of spiral model? I. It is based on customer communication. If the communication is not proper then the software product that gets developed will not be t

Garbage collectors trade space for time. If we collect all the time (which requires a lot of processing time), the GC allocator will use the least memory possible. On the other han

SEGMENTATION In a memory management system that is properly a programmer views a program to be collection of program components called as segments . Every segment is a logical

Question: A set of processes are in a deadlock state when every process in the set is waiting for an event that can be caused by only another process in the set. (a) There

Explain Structure The Grammar for programming language is a formal description of Structure