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

Differentiate pre-emptive and non-preemptive scheduling In a pre-emptive scheduling technique, CPU can be taken away from a process if there is a requirement while in a non-pre

Explain what ISAM is. Indexed sequential access method. The file is stored in sorted order. ISAM has a master index file, indicating in what part of another index file the key

The optimal replacement policy, called OPT, is to evict the page which will be accessed farthest into the future. Since we can't predict the future precisely, we can't implement OP

What does it mean for something to be thread-safe? By saying that X is thread-safe, we mean that if multiple threads use X at the same time, we don't have to worry about concurrenc

What are the different thread levels? There are two broad type of thread implementation: User-Level Threads -- Thread Libraries. Kernel-level Threads -- System Calls.

In this project, you will implement the Chandy and Misra's (CM) algorithm using POSIX Threads (Pthreads).   The algorithm  is a distributed algorithm to solve a generalized dining

What is a client server system? Centralized systems proceed as server systems to satisfy request generated by client systems Server system is able to be broadly div

Q. Presume that the following processes arrive for execution at the times indicated. Every process will run the listed amount of time. In responding the questions use non pre-empti

1. What must a kernel provide for an effective user-level thread implementation? 2. With respect to the quantum q in a scheduling algorithm, explain and discuss the impact of the