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 -