ǶÈëʽ¿Î³ÌÉè¼Æ±¨¸æ£¨·¶Àý-º¬ÅŰæÒªÇó£© ÏÂÔØ±¾ÎÄ

ǶÈëʽ¿Î³ÌÉè¼Æ±¨¸æ(·¶Àý-º¬ÅŰæÒªÇó)

void acceptment2(RECT *head,RECT *back1) ; int backcheck(RECT *head,RECT *back1); void print(RECT *head);

2./*±äÁ¿ÉùÃ÷*/

RECT *head,*back,*assign1,*p; int application1,maxblocknum; char way;

3..ʵÏÖÄÚ´æ·ÖÅ书ÄÜ£¬Ñ¡ÔñÊÊÓ¦Ëã·¨£¨Ê×´ÎÊÊÓ¦Ëã·¨£¬×î¼ÑÊÊÓ¦Ëã·¨£©¡£ »ù±¾Ô­Àí·ÖÎö£º

1£©×î¼ÑÊÊÓ¦Ëã·¨£º½«¿ÕÏзÖÇø°´´óС´Ó´óµ½Ð¡ÅÅÐò£¬´ÓÍ·ÕÒµ½´óСºÏÊʵķÖÇø¡£

Ëü´ÓÈ«²¿¿ÕÏÐÇøÖÐÕÒ³öÄÜÂú×ã×÷ÒµÒªÇóµÄ¡¢ÇÒ´óС×îСµÄ¿ÕÏзÖÇø£¬ÕâÖÖ·½·¨ÄÜʹË鯬¾¡Á¿Ð¡¡£ÎªÊÊÓ¦´ËËã·¨£¬¿ÕÏзÖÇø±í£¨¿ÕÏÐÇøÁ´£©ÖеĿÕÏзÖÇøÒª°´´óС´ÓСµ½´ó½øÐÐÅÅÐò£¬×Ô±íÍ·¿ªÊ¼²éÕÒµ½µÚÒ»¸öÂú×ãÒªÇóµÄ×ÔÓÉ·ÖÇø·ÖÅä¡£¸ÃËã·¨±£Áô´óµÄ¿ÕÏÐÇø£¬µ«Ôì³ÉÐí¶àСµÄ¿ÕÏÐÇø¡£Ö÷Òªº¯ÊýËã·¨ÈçÏ£º

void acceptment2(RECT *head,RECT *back1) {

RECT *before,*after; int insert ; insert=0; before=head; after=head->next;

if(head->next==NULL) /*Èç¹û¿ÉÀûÓÃÇø±íΪ¿Õ*/ {

head->size=back1->size; head->next=back1; maxblocknum++; back1->next=NULL; }

8 / 25

ǶÈëʽ¿Î³ÌÉè¼Æ±¨¸æ(·¶Àý-º¬ÅŰæÒªÇó)

2£©Ê×´ÎÊÊÓ¦Ëã·¨£º½«¿ÕÏзÖÇø°´´óС´ÓСµ½´óÅÅÐò£¬´ÓÍ·ÕÒµ½´óСºÏÊʵķÖÇø¡£

´Ó¿ÕÏзÖÇø±íµÄµÚÒ»¸ö±íÄ¿Æð²éÕÒ¸Ã±í£¬°Ñ×îÏÈÄܹ»Âú×ãÒªÇóµÄ¿ÕÏÐÇø·ÖÅ䏸×÷Òµ£¬ÕâÖÖ·½·¨Ä¿µÄÔÚÓÚ¼õÉÙ²éÕÒʱ¼ä¡£ÎªÊÊÓ¦ÕâÖÖËã·¨£¬¿ÕÏзÖÇø±í£¨¿ÕÏÐÇøÁ´£©ÖеĿÕÏзÖÇøÒª°´µØÖ·Óɵ͵½¸ß½øÐÐÅÅÐò¡£¸ÃËã·¨ÓÅÏÈʹÓõÍÖ·²¿·Ö¿ÕÏÐÇø£¬ÔÚµÍÖ·¿Õ¼äÔì³ÉÐí¶àСµÄ¿ÕÏÐÇø£¬ÔڸߵØÖ·¿Õ¼ä±£Áô´óµÄ¿ÕÏÐÇø¡£Ö÷Òªº¯ÊýËã·¨ÈçÏ£º void acceptment1(RECT *head,RECT *back1)/*Ê×ÏÈÊÊÓ¦*/ {

RECT *before,*after; int insert; before=head; after=head->next; insert=0;

while(!insert) /*½«»ØÊÕÇø²åÈë¿ÕÏÐÇø±í*/ {

if((after==NULL)||

((back1->address<=after->address)&& (back1->address>=before->address)))

{

before->next=back1; back1->next=after; insert=1;

} else {

before=before->next; after=after->next;

} }

4. typedef struct node /*ÉèÖ÷ÖÇøÃèÊöÆ÷*/

9 / 25

ǶÈëʽ¿Î³ÌÉè¼Æ±¨¸æ(·¶Àý-º¬ÅŰæÒªÇó)

5. RECT *assignment(RECT *head,int application) /*·ÖÅ亯Êý*/

6. void print(RECT *head) /*Êä³öÁ´±í*/

7. int backcheck(RECT *head,RECT *back1) /*¼ì²é»ØÊÕ¿éµÄºÏ·¨ÐÔ£¬back1ΪҪ»ØÊյĽáµãµØÖ·*/

8. void print(RECT *head) /*Êä³öÁ´±í*/

9. void acceptment2(RECT *head,RECT *back1) /*×î¼ÑÊÊÓ¦£¬back1Ϊ»ØÊÕ½áµãµÄµØÖ·*/

10. void acceptment1(RECT *head,RECT *back1)/*Ê×ÏÈÊÊÓ¦*/

ÄÚ´æ×÷Ϊ×îÖØÒªµÄϵͳ×ÊÔ´£¬Æä·ÖÅäºÍÊͷŲßÂÔ¶ÔϵͳµÄÔËÐÐЧÂÊÆð×ÅÖÁ¹ØÖØÒªµÄ×÷Óá£ÏµÍ³Äں˺ÍËùÓнø³Ìͨ¹ý¹²ÏíÓÐÏÞµÄÎïÀíÄÚ´æÀ´ÔËÐУ¬Ò»¸öϵͳµÄ¸ßЧÐÔÓëÎȶ¨ÐÔÍùÍùÈ¡¾öÓÚËüÄÚ´æ¹ÜÀí»úÖÆ¡£Òò´Ë£¬Ò»¸ö¸ßЧµÄÄÚ´æ¹ÜÀíϵͳ²»½öÒªÄܹ»ÓÐЧµØ¹ÜÀíϵͳÄڴ棬¼õÉÙÆµ·±·ÖÅäºÍ»ØÊÕÄÚ´æ¶øµ¼ÖµÄÄÚ´æË鯬£¬»¹Òª¾¡Á¿Ìá¸ß·ÖÅäºÍ»ØÊÕµÄËÙ¶ÈÀ´Ìá¸ßϵͳµÄÔËÐÐЧÂÊ¡£´ËÍ⣬ÄÚ´æ¹ÜÀíϵͳ»¹Ó¦¸Ã±£Ö¤ÄÚ´æ·ÖÅäºÍ»ØÊյĹ«Æ½ÐÔ¡£

10 / 25

ǶÈëʽ¿Î³ÌÉè¼Æ±¨¸æ(·¶Àý-º¬ÅŰæÒªÇó)

4¡¢ÏµÍ³ÊµÏÖ

4.1¡¢×ÜÌå½çÃæÓë³ÌÐòÁ÷³Ì·ÖÎö

ÔÚÄÚ´æ³õʼ»¯Íê³ÉÒÔºó£¬ÄÚ´æÖоͳ£×¤ÓÐÄÚºËÓ³Ïó£¨Äں˴úÂëºÍÊý¾Ý£©¡£ÒÔºó£¬Ëæ×ÅÓû§³ÌÐòµÄÖ´ÐкͽáÊø£¬¾ÍÐèÒª²»¶ÏµØ·ÖÅäºÍÊÍ·ÅÎïÀíÒ³Ãæ¡£ÄÚºËÓ¦¸ÃΪ·ÖÅäÒ»×éÁ¬ÐøµÄÒ³Ãæ¶ø½¨Á¢Ò»ÖÖÎȶ¨¡¢¸ßЧµÄ·ÖÅä²ßÂÔ¡£Îª´Ë£¬±ØÐë½â¾öÒ»¸ö±È½ÏÖØÒªµÄÄÚ´æ¹ÜÀíÎÊÌ⣬¼´ÍâË鯬ÎÊÌ⡣Ƶ·±µØÇëÇóºÍÊͷŲ»Í¬´óСµÄÒ»×éÁ¬ÐøÒ³Ã棬±ØÈ»µ¼ÖÂÔÚÒÑ·ÖÅäµÄÄÚ´æ¿éÖзÖÉ¢Ðí¶àС¿éµÄ¿ÕÏÐÒ³Ãæ¡£ÓÉ´Ë´øÀ´µÄÎÊÌâÊÇ£¬¼´Ê¹ÕâЩС¿éµÄ¿ÕÏÐÒ³Ãæ¼ÓÆðÀ´×ãÒÔÂú×ãËùÇëÇóµÄÒ³Ãæ£¬µ«ÊÇÒª·ÖÅäÒ»¸ö´ó¿éµÄÁ¬ÐøÒ³Ãæ¿ÉÄܾ͸ù±¾ÎÞ·¨Âú×ã¡£Linux²ÉÓÃÖøÃûµÄ»ï°é£¨Buddy£©ÏµÍ³Ëã·¨À´½â¾öÍâË鯬ÎÊÌâ¡£

µ«ÊÇÇë×¢Ò⣬ÔÚLinuxÖУ¬CPU²»Äܰ´ÎïÀíµØÖ·À´·ÃÎÊ´æ´¢¿Õ¼ä£¬¶ø±ØÐëʹÓÃÐéÄâµØÖ·£»Òò´Ë£¬¶ÔÓÚÄÚ´æÒ³ÃæµÄ¹ÜÀí£¬Í¨³£ÊÇÏÈÔÚÐé´æ¿Õ¼äÖзÖÅäÒ»¸öÐé´æÇø¼ä£¬È»ºó²Å¸ù¾ÝÐèҪΪ´ËÇø¼ä·ÖÅäÏàÓ¦µÄÎïÀíÒ³Ãæ²¢½¨Á¢ÆðÓ³É䣬Ҳ¾ÍÊÇ˵£¬Ðé´æÇø¼äµÄ·ÖÅäÔÚǰ£¬¶øÎïÀíÒ³ÃæµÄ·ÖÅäÔÚºó£¬

1¡¢²Ù×÷Á÷³Ì·ÖÎö

ÓÉÓÚ±¾ÏµÍ³²ÉÓö¯Ì¬·½Ê½£¬ËùÒÔÊ×ÏÈÈ·¶¨ÄÚ´æ¿Õ¼ä·ÖÅä±í£»È»ºó²ÉÓÃ×î¼ÑÊÊÓ¦Ëã·¨»òÊ×ÏÈÊÊÓ¦Ëã·¨Íê³ÉÖ÷´æ¿Õ¼äµÄ·ÖÅ䣬Íê³ÉÄÚ´æ¿Õ¼äµÄ»ØÊÕ¡£ÄÚ´æ¹ÜÀíÔ¤ÏȲ»½«Ö÷´æ»®·Ö³É¼¸¸ö

11 / 25