Golgappa.net | Golgappa.org | BagIndia.net | BodyIndia.Com | CabIndia.net | CarsBikes.net | CarsBikes.org | CashIndia.net | ConsumerIndia.net | CookingIndia.net | DataIndia.net | DealIndia.net | EmailIndia.net | FirstTablet.com | FirstTourist.com | ForsaleIndia.net | IndiaBody.Com | IndiaCab.net | IndiaCash.net | IndiaModel.net | KidForum.net | OfficeIndia.net | PaysIndia.com | RestaurantIndia.net | RestaurantsIndia.net | SaleForum.net | SellForum.net | SoldIndia.com | StarIndia.net | TomatoCab.com | TomatoCabs.com | TownIndia.com
Interested to Buy Any Domain ? << Click Here >> for more details...

Describe the Buddy system of memory allocation.

Answer Posted / wiki addict

The buddy memory allocation technique allocates memory in
powers of 2, i.e 2x, where x is an integer. Thus, the
programmer has to decide on, or to write code to obtain, the
upper limit of x. For instance, if the system had 2000K of
physical memory, the upper limit on x would be 10, since 210
(1024K) is the biggest allocatable block. This results in
making it impossible to allocate everything in as a single
chunk; the remaining 976K of memory would have to be taken
in smaller blocks.
After deciding on the upper limit (let's call the upper
limit u), the programmer has to decide on the lower limit,
i.e. the smallest memory block that can be allocated. This
lower limit is necessary so that the overhead of storing
used and free memory locations is minimized. If this lower
limit did not exist, and many programs request small blocks
of memory like 1K or 2K, the system would waste a lot of
space trying to remember which blocks are allocated and
unallocated. Typically this number would be a moderate
number (like 2, so that memory is allocated in 2² = 4K
blocks), small enough to minimize wasted space, but large
enough to avoid excessive overhead. Let's call this lower
limit l.
Now that we have our limits, let us see what happens when a
program makes requests for memory. Let's say in this system,
l = 6, which results in blocks 26 = 64K in size, and u = 10,
which results in a largest possible allocatable block, 210 =
1024K in size. The following shows a possible state of the
system after various memory requests.

Is This Answer Correct ?    5 Yes 3 No



Post New Answer       View All Answers


Please Help Members By Posting Answers For Below Questions

Differentiate between Multiprocessing, Mutliprogramming and Multithreading.

1327


What are the 4 major types of operating system?

991


Why is ram also known as volatile memory?

1187


Will chkdsk repair corrupt files?

1006


What are the three conditions that must be present for deadlock to be possible?

959


Hi All, Can any one post a MS-DOS command/ utility tool, that modifies large size(nGBs) log file into MBs form the begining of log file? I will appreciate if any one give correct answer to this question. Thanks

2077


What is the difference between af_inet and pf_inet?

958


What is the max ram for a 64 bit?

946


How do you create a directory?

1036


Explain busy waiting in operating system (os)?

1101


How do an incremental process model and certification work together to produce high quality software? In your own words, describe the intent of certification in the clean room software engineering context.

1931


Who does the memory management in operating system?

1019


How do I uninstall remnants of uninstalled programs?

936


What is the full form of os?

1073


Can anybody send me Excel tips and improtant formul...... please.

2033