ÄϾ©Óʵç´óѧʵÑ鱨¸æÄ£°æ 2 - ͼÎÄ

int curpage;

for(int i=0;i<320;i++) {

if(i0==0) getch( ); pc=temp[i]; curpage=pc/10;

exist = findExist(curpage); if(exist==-1) {

space = findSpace ( ); if(space != -1) {

block[space].pagenum = curpage; display( ); n=n+1; }

else {

for(int k=0;k

for(int j=i;j<320;j++) {

if(block[k].pagenum!= temp[j]/10) {

block[k].accessed = 1000; }//½«À´²»»áÓã¬ÉèÖÃΪһ¸öºÜ´óÊý else {

block[k].accessed = j; break;

} } }

position = findReplace( );

block[position].pagenum = curpage; display( ); n++;

- 6 -

} } }

cout<<\ȱҳ´ÎÊý:\

cout<<\ȱҳÂÊ:\}

//------------------------------------------------------------- void LRU( ) {

int exist,space,position ; int curpage;

for(int i=0;i<320;i++) {

if(i0==0) getch( ); pc=temp[i]; curpage=pc/10;

exist = findExist(curpage); if(exist==-1) {

space = findSpace( ); if(space != -1) {

block[space].pagenum = curpage; display( ); n=n+1; }

else {

position = findReplace( );

block[position].pagenum = curpage; display( ); n++; } }

else block[exist].accessed = -1;//»Ö¸´´æÔڵIJ¢¸Õ·ÃÎʹýµÄBLOCKÖÐÒ³ÃæaccessedΪ-1 for(int j=0; j<4; j++)

- 7 -

{block[j].accessed++;} }

cout<<\ȱҳ´ÎÊý:\

cout<<\ȱҳÂÊ:\}

//------------------------------------------------------------- void FIFO( ) {

int exist,space,position ; int curpage;

for(int i=0;i<320;i++) {

if(i0==0) getch( ); pc=temp[i]; curpage=pc/10;

exist = findExist(curpage); if(exist==-1) {

space = findSpace( ); if(space != -1) {

block[space].pagenum = curpage; display( ); n=n+1; }

else {

position = findReplace( );

block[position].pagenum = curpage; display( ); n++;

block[position].accessed--; } }

for(int j=0; j

- 8 -

block[j].accessed++; }

cout<<\ȱҳ´ÎÊý:\

cout<<\ȱҳÂÊ:\}

//************************************************************* void main( ) {

int select;

cout<<\ÇëÊäÈëµÚÒ»ÌõÖ¸ÁîºÅ(0~320)£º\ suijishu( );

cout<<\¶ÔÓ¦µÄµ÷ÓÃÒ³Ãæ¶ÓÁÐ*******\ pagestring( ); do {

cout<<\ cout<<\ 2:LRU 3:FIFO 4:Í˳ö-----\ cout<<\ cout<<\ ÇëÑ¡ÔñÒ»ÖÖÒ³ÃæÖû»Ëã·¨:\ cin>>select;

cout<<\ init( );

switch(select) {

case 1:cout<<\×î¼ÑÖû»Ëã·¨OPT:\ cout<<\ OPT( ); break;

case 2:cout<<\×î½ü×î¾ÃδʹÓÃÖû»Ëã·¨LRU:\ cout<<\ LRU( ); break;

case 3:cout<<\ÏȽøÏȳöÖû»Ëã·¨FIFO:\ cout<<\ FIFO( ); break;

- 9 -

default: ; } }while(select!=4); } ʵÑé½á¹û£º - 10 -

ÁªÏµ¿Í·þ£º779662525#qq.com(#Ì滻Ϊ@) ËÕICP±¸20003344ºÅ-4