資源描述:
《缺頁中斷模擬系統(tǒng)操作系統(tǒng)課程設計-論文》由會員上傳分享,免費在線閱讀,更多相關內(nèi)容在工程資料-天天文庫。
1、缺頁中斷模擬系統(tǒng)操作系統(tǒng)課程設計-論文缺頁中斷模擬系統(tǒng)操作系統(tǒng)課程設計#include#includeHstdlib.h"typedefintQElemType;#defineok1#defineoverflow0#defineerror0typedefstructQnode{QElemTypedata;structQnode*next;}Qnode,*Queueptr;typedefstruct{Qucucptrfront;Queueptrrear;}LinkQueue;voidmenu(int*a,intn,intm);InitQueue(LinkQu
2、eue&Q){Q.front=Q.rear=(Queueptr)malloc(sizcof(Qnodc));if(!Q.front)exit(overflow);Q.front->next二NULL;returnok;}EnQueue(LinkQueue&Q,QElemTypee){Queueptrp;p二(Queueptr)malloc(sizeof(Qnode));if(!p)exit(overflow);p?〉data=e;p->next二NULL;Q.rear->next二p;Q.rear二p;returnok;}DcQucuc(LinkQueue&Q,QElcmTypc
3、&c){Queueptrp;if(Q.front=Q.rear)returnerror;p二Q.front?〉next;e=p->data;Q.front?〉next二p?〉next;if(Q.rear=p)Q.rear=Q.front;free(p);returnok;}voidVisitQueue(LinkQueueQ){Queueptrp;p二Q.front->next;while(p){cout?p->data?"";p二p->next;ComparcQucuc(LinkQueueQ,intpage){Queueptrp;p二Q.front?〉next;whilc(p){
4、if(p->data=page)returnok;p二p?〉next;}returnerror;}voidFIF0(int*a,intn,intm){LinkQucucQ;intpage,flag=0,x;floatt二0.0;floaty二0.0;InitQueue(Q);cout?M內(nèi)存中的頁面號為:”;for(inti二1;i<二m;i++){page=a[i];l卄;if(t<=n){EnQueue(Q,page);cout?a[i]?”";}else{for(intj=l;j<=n;j++)1;break;}if(CompareQueue(Q,page)){cout?e
5、ndl;if(flag=0){DeQueue(Q,x);cout?cndl;cout?x?"號頁面被淘汰"vvendl;EnQueue(Q,page);}cout?H內(nèi)存中的頁面號為:”;VisitQueue(Q);cout?endl;}flag二0;}y=(t/m)*100;cout?endl;coutvv"缺頁次數(shù)為:t?endl;cout?M缺頁率為:M?y?n%n?endl;menu(a,n,m);}voidLRU(int*a,intn,intm){LinkQucucQ;intpage,flag=0,x,c;floatt=0.0;floaty二0.0;InitQueue(
6、Q);cout?M內(nèi)存中的頁面號為:”;for(inti=1;i<=m;i-H-){page二a[i];t++;if(t<=n){EnQueue(Q,page);cout?a[i]?”";}else{for(intj=1;j<=n;j++)if(ComparcQucuc(Q,pagc)){t--;DeQueue(Q,e);EnQueue(Q,e);flag=1;break;}cout?endl;if(flag=0){DeQueue(Q,x);cout?endl;cout?page?"號頁面進入內(nèi)存"?cndl;cout?x?"號頁面被淘汰H?endl;EnQueue(Q,page
7、);}cout?M內(nèi)存中的頁面號為:”;VisitQueue(Q);cout?endl;flag二0;cout?cndl;cout?"缺頁次數(shù)為:"《t?endl;cout?n缺頁率為:n?y?n%H?endl;menu(a,n,m);intmax(int*t,intn){intmax=t[1],s二1;for(inti=l;i<=n;i++)if(t[i]>max){max=t[i];s=i;}returns;void0PT(inta[21I,intn,intm){intfla