Google Answers Logo
View Question
 
Q: The LINUX problem ( No Answer,   0 Comments )
Question  
Subject: The LINUX problem
Category: Computers > Operating Systems
Asked by: questionboy-ga
List Price: $50.00
Posted: 26 Sep 2004 13:11 PDT
Expires: 06 Oct 2004 18:22 PDT
Question ID: 406579
1.Taking a look at the LINUX Buddy System: 
 1)What is the name of the basic function that allocates a page in the
LINUX Buddy System?
 2)Take a look at the __free_pages_ok function. It implements the
buddy system strategy for freeing page frames. Take a look at the loop
while (mask + (1 << (MAX_ORDER-1))). Walk through it and explain what
each line does. Your written answer should explain in one or two
sentences what each line of the loop does.

2.Taking a look at the LINUX SLAB allocator: Look through the LINUX
kernel source code.
 1)What file(s) in that codebase contain the functions that make the
slab allocator work?
 2)Look through the comments in the file. Explain how the caches are
organized on SMP systems. Why? (Don't just copy the comment -- explain
what it means.)
 3)Give a brief walk-through of how the slab allocation system works,
making references to function names you find in the LINUX code base.

3.Write down the digits 0308080917562447906081982. Consider this as a
sequence of page references and assume main memory holds five pages.
Demonstrate what each of the following algorithms does:
  oOptimal 
  oLRU 
  oFIFO 
  oClock 

4.Consider a LINUX-style buddy memory allocation system that has 2048
pages available. Consider the following requests for groups of pages:
  oA: 256 pages 
  oB: 256 pages 
  oC: 32 pages 
  oD: 64 pages 
  oRelease A 
  oRelease B 
  oE: 128 pages. 
What is the status of memory and the lists of free blocks of different
sizes after all of this?

5.What additional insight beyond those of traditional memory
management enabled virtual memory management?

Clarification of Question by questionboy-ga on 26 Sep 2004 13:21 PDT
An easier way to work with the LINUX Kernel Code is: this
cross-referenced web-based presentation. Look at the 2.4.22 code.
http://lxr.linux.no/source/
Answer  
There is no answer at this time.

Comments  
There are no comments at this time.

Important Disclaimer: Answers and comments provided on Google Answers are general information, and are not intended to substitute for informed professional medical, psychiatric, psychological, tax, legal, investment, accounting, or other professional advice. Google does not endorse, and expressly disclaims liability for any product, manufacturer, distributor, service or service provider mentioned or any opinion expressed in answers or comments. Please read carefully the Google Answers Terms of Service.

If you feel that you have found inappropriate content, please let us know by emailing us at answers-support@google.com with the question ID listed above. Thank you.
Search Google Answers for
Google Answers  


Google Home - Answers FAQ - Terms of Service - Privacy Policy