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
Is it probable to have a deadlock involving only one single process? Describe your answer. Answer: No This pursue directly from the hold-and-wait condition.

What is segmentation? In a segmented memory management scheme a programmer views a program to be collection of program components called as segments. Every segment is a logical

Q. Describe why SSTF scheduling tends to favour middle cylinders over the innermost and outermost cylinders. Answer: The middle of the disk is the location having the smalles

What is virtual memory? Virtual memory is a method that allows the execution of processes that might not be completely in memory. It is the separation of user logical memory fr

Gopher Gallery consists of a shopping mall and a cart ride that covers the 150 acre habitat. There are m visitors and n single-person vehicles. Visitors stroll around the mall at t

How does communication takes place in a distributed system? Distributed systems depend on the networking for their functionality. A network is a communication path among two

Priority Scheduling leads to the risk of starvation: a process is ready, but never is given the processor. Some preemptive priority schedulers therefore reserve a fraction of the p

The different paging techniques are 1. Multilevel paging or hierarchical paging method: In definite cases the page table may consist up to 1 million entries. This would be

What is meant by context switch? Switching the CPU to another process needs saving the state of the old process and loading the saved state for the latest process. This task is

Define the Communications Techniques - Application interaction protocols    Communications techniques are well defined. They give developer the programmatic mechanism to transf