亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? 頁(yè)面置換算法.cpp

?? 當(dāng)年上操作系統(tǒng)課后
?? CPP
字號(hào):
// 頁(yè)面置換算法.cpp : Defines the entry point for the console application.
//

#include "stdafx.h"
#include <iostream.h>
#include<stdlib.h>
int npage=20;//請(qǐng)求頁(yè)面數(shù)
int mpage=3;//內(nèi)存中最大頁(yè)面數(shù)
int pagequeue[20];//請(qǐng)求頁(yè)面隊(duì)列
int b[20]={7,0,1,2,0,3,0,4,2,3,0,3,2,1,2,0,1,7,0,1};
int page[10];//內(nèi)存中頁(yè)面
int state[10];
int modify[20]={0,1,1,0,1,0,0,1,1,1,1,0,0,1,0,1,0,1,0,2};
float misshit;
int select2=9;
char select1;
int begin;
int i,j;
float missrate;
  struct 
{
 int value[10];
 int state[10];
 int rear;
} queue;
void print();
void init()
{
	int t=0;
	int q=0;
	bool full=false;
	misshit=0;
	begin=0;
   missrate=0;	
  for(i=0;i<mpage;i++)
	  page[i]=-1;
  while(t<npage)
  {
	  bool get=false;
	  for(i=0;i<mpage;i++)
	  {
		  if(page[i]==pagequeue[t])
		  {
			  get=true;
	          state[i]=1;
		  }
	  }
	  if(get==true)
		  printf("頁(yè)面%d在內(nèi)存中已經(jīng)存在,即訪問(wèn)命中!\n",pagequeue[t]);
	  if(get==false)
	  {
		  printf("頁(yè)面%d在內(nèi)存中不存在,將其調(diào)入內(nèi)存!\n",pagequeue[t]);
		  page[q]=pagequeue[t];
		  
		 state[q]=1;
		  q++;
	}

	print();
	if(q==3) 
	{
		break;
	}
	t++;
	begin=t;
  }//while
}

void print()
{
	int b;

  for(b=0;b<mpage;b++)
	  if(page[b]!=-1)
	  {
		if(select2==4)
		{
			printf("%d(%d)  \n",page[b],state[b]);
		}
		if(select2==5)
			printf("%d(%d,%d)  \n",page[b],state[b],modify[b]);
			else
		 printf("%d  ",page[b]);
	  }
	  printf("\n");
}

void Optimal()
{
  int t=begin+1;
  while(t<npage)
  {
	  int c=0;
  bool get=false;

  int place[10]={0};
  int longest=0;
  for(i=0;i<mpage;i++)
  {
    if(pagequeue[t]==page[i])
	{
	 get=true;
	}
  }
  if(get==true)
	  printf("\n頁(yè)面%d 訪問(wèn)命中!\n",pagequeue[t]);
  if(get==false)
  {
    for(i=0;i<mpage;i++)
	{
		  bool have=false;
		for(j=t+1;j<npage;j++)
		{
			if(page[i]==pagequeue[j])
			{
				place[i]=j;
				have=true;
			    break;
			}
		}
		if(have==false)
		{
		  place[i]=100;
		}
	}//for
	for(i=0;i<mpage;i++)
	{

	  if(place[i]>c)
	  {
		  c=place[i];
		  longest=i;
	  }

	}
	printf("頁(yè)面%d 發(fā)生缺頁(yè)中斷!將頁(yè)面%d 換出頁(yè)面!\n",pagequeue[t],page[longest]);
	page[longest]=pagequeue[t];
	misshit++;
  }//if
  print();
  t++;
  }//while
   missrate=misshit/npage;
  printf("計(jì)算缺頁(yè)率為: %f\n",missrate);
}
void FIFO()
{
int t=begin+1;
int q=0;
while(t<npage)
{
  bool get=false;
  for(i=0;i<mpage;i++)
  {
    if(pagequeue[t]==page[i])
	{
	 get=true;
	}
  }
  if(get==true)
	  printf("頁(yè)面%d在內(nèi)存中已經(jīng)存在,即訪問(wèn)命中!\n",pagequeue[t]);
   if(get==false)
   {
	   printf("頁(yè)面%d 發(fā)生缺頁(yè)中斷!將頁(yè)面%d 換出!\n",pagequeue[t],page[q]);
	  page[q]=pagequeue[t];

	  q++;
      misshit++;
   }
  if(q==mpage)
     q=0;
print();
t++;
}//while
   missrate=misshit/npage;
  printf("計(jì)算缺頁(yè)率為: %f\n",missrate);
}

void LRU()
{
  int t=begin+1;
  int time[10]={0};
 for(i=0;i<mpage;i++)
	 time[i]=i;
 while(t<npage)
 {
	 bool get=false;
  for(i=0;i<mpage;i++) 
  {
   if(page[i]==pagequeue[t])
   {
   get=true;
   time[i]=t;
   }
  }
  if(get==true)
	   printf("頁(yè)面%d在內(nèi)存中已經(jīng)存在,即訪問(wèn)命中!\n",pagequeue[t]);
  if(get==false)
  {
    int temp=100;
	int min;
	for(i=0;i<mpage;i++)
	{
	  if(time[i]<=temp)
	  {
		  temp=time[i];
          min=i;
	  }

	}//for
	printf("頁(yè)面%d 發(fā)生缺頁(yè)中斷!將頁(yè)面%d 換出!\n",pagequeue[t],page[min]);
	page[min]=pagequeue[t];
	time[min]=t;
	misshit++;
 }//if
  print();
   t++;
 }//while
  missrate=misshit/npage;
  printf("計(jì)算缺頁(yè)率為: %f\n",missrate);

}

void Clock()
{
int t=begin+1;
int q=0;

while(t<npage)

{
  bool get=false;
  for(i=0;i<mpage;i++)
  {
    if(pagequeue[t]==page[i])
	{
	 get=true;
	 state[i]=1;
	}
  }
  if(get==true)
	   printf("頁(yè)面%d在內(nèi)存中已經(jīng)存在,即訪問(wèn)命中!\n",pagequeue[t]);
   if(get==false)
   {
	   int n=2;
	   while(n>0)
	   {
	     while(q<mpage)
		   {
	         if(state[q]==0)
			 {
				 printf("頁(yè)面%d 發(fā)生缺頁(yè)中斷!將頁(yè)面%d 換出!\n",pagequeue[t],page[q]);
	           page[q]=pagequeue[t];
			   state[q]=1;
			   
	           q++;
			   	 if(q==3)
			 {
			 q=0;
			 }
				  
			   get=true;
			   break;
			 }
	        else
			{
		     state[q]=0;
		     q++;
			 if(q==3)
			 {
			 q=0;
			 }
			}//else
		 }//while
		 if(get==true) break;
		 q=0;
         n--;
	   }//whlie
      misshit++;
   }//if
  
print();


t++;
}//while
  missrate=misshit/npage;
  printf("計(jì)算缺頁(yè)率為: %f\n",missrate);

 
}
void  improve_Clock()
{
int t=begin+1;
int q=0;
while(t<npage)
{ 
  bool get=false;
  for(i=0;i<mpage;i++)
  {
    if(pagequeue[t]==page[i])
	{
	 get=true;
	 modify[q]=modify[t];
	 state[i]=1;
	}
  }

  if(get==true)
	  printf("頁(yè)面%d在內(nèi)存中已經(jīng)存在,即訪問(wèn)命中!\n",pagequeue[t]);

   if(get==false)
   {
	   int m=2;
	   while(m>0)
	   {
	   int n=3;
	   while(n>0)
	   {
	     while(q<mpage&&n==3)
		   {
	         if(state[q]==0&&modify[q]==0)
			 {
				 printf("頁(yè)面%d 發(fā)生缺頁(yè)中斷!將頁(yè)面%d 換出!\n",pagequeue[t],page[q]);
	           page[q]=pagequeue[t];
			   modify[q]=modify[t];
			   state[q]=1;
			  get=true;
	
			   break;
			 }
			  q++;
		
		
	        }//while第一遍循環(huán)
		 q=0;
		 while(q<mpage&&n==2)
		 {
		   if(state[q]==0&&modify[q]==1)
		   {
			    printf("頁(yè)面%d 發(fā)生缺頁(yè)中斷!將頁(yè)面%d 換出!\n",pagequeue[t],page[q]);
		
		   modify[q]=modify[t];
		     page[q]=pagequeue[t];
			 state[q]=1;
		
			  get=true;
			 
			   break;
		   }
		   	   q++;
			  
			
		 }
		 q=0;
		   while(q<mpage&&n==1&&m==2)
		   {
		     state[q]=0;
		      q++;
		
		 }
		 if(get==true) break;
		 q=0;
         n--;
	   }//whlien
	   if(get==true) break;
	   m--;
	   }//whilem
      misshit++;
   }//if
  for(i=0;i<mpage;i++)
  printf("%d(%d,%d)  \n",page[i],state[i],modify[i]);

t++;
}//while

missrate=misshit/npage;
  printf("計(jì)算缺頁(yè)率為: %f\n",missrate);

 
}
void main()
{
	cout<<"是否隨機(jī)產(chǎn)生頁(yè)面訪問(wèn)序列?(y/n)";
	cin>>select1;
	if(select1=='y')
	{
		cout<<"通過(guò)隨機(jī)方式,產(chǎn)生的頁(yè)面訪問(wèn)序列為:"<<endl;
	   for(i=0;i<npage;i++)
	   {
	      pagequeue[i]=rand()%7;
		  cout<<pagequeue[i]<<"  ";
	   }
	}
	else
	{

   for(i=0;i<npage;i++)
   {
   pagequeue[i]=b[i];
   }
	}
	cout<<endl;
	cout<<"0:退出"<<endl;
	cout<<"1:最佳置換算法"<<endl;
	cout<<"2:先進(jìn)先出頁(yè)面置換算法"<<endl;
	cout<<"3:最近最久未使用置換算法"<<endl;
	cout<<"4:簡(jiǎn)單Clock置換算法"<<endl;
    cout<<"5:優(yōu)化Clock置換算法"<<endl;

	printf("請(qǐng)選擇置換算法:\n");
	while(select2!=0)
	{
		scanf("%d",&select2);
		printf("\n");
		switch (select2)
		{
		case 1:
			init();
            Optimal();
		    break;
	    case 2:
			init();
			FIFO();
		    break;
	    case 3:
			init();
			LRU();
		    break;
	    case 4:
		    init();
            Clock();
		   break;
	    case 5:
		    init();
            improve_Clock();
		    break;
		}
	}
	
}

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美日韩激情在线| 男女视频一区二区| 中文字幕第一页久久| 日韩免费观看2025年上映的电影| 欧美久久久一区| 91 com成人网| 日韩写真欧美这视频| 精品日韩在线观看| 亚洲精品一区二区三区影院 | 欧美色精品天天在线观看视频| 97aⅴ精品视频一二三区| 99久久99久久久精品齐齐| 99国产精品久久久| 日本韩国视频一区二区| 在线亚洲一区二区| 欧美日韩在线直播| 日韩一区二区在线看| 久久一区二区视频| 国产精品久久久久aaaa| 亚洲欧美国产三级| 天天操天天综合网| 麻豆成人av在线| 成人自拍视频在线| 91国产免费看| 日韩一区二区精品| 国产欧美一区二区三区鸳鸯浴| 中文字幕精品—区二区四季| 亚洲人快播电影网| 无码av免费一区二区三区试看 | 免费在线观看一区| 国产精品一区二区不卡| 成人免费视频播放| 91久久久免费一区二区| 欧美一卡二卡在线| 日本一区二区三级电影在线观看| 亚洲视频小说图片| 日本三级亚洲精品| 成人免费看的视频| 欧美精选一区二区| 久久综合色之久久综合| 中文字幕制服丝袜成人av| 亚洲动漫第一页| 国产精品亚洲成人| 在线免费视频一区二区| 精品1区2区在线观看| 亚洲伦理在线精品| 极品少妇xxxx偷拍精品少妇| a在线播放不卡| 日韩一级片网站| 亚洲精品欧美激情| 国产自产v一区二区三区c| 一本一本大道香蕉久在线精品| 日韩免费视频一区二区| 亚洲欧洲在线观看av| 美女任你摸久久 | 精品国产乱码久久久久久久| 亚洲欧洲精品一区二区三区 | 欧美一区二区观看视频| 国产精品每日更新在线播放网址| 五月综合激情网| 国产 欧美在线| 日韩三级精品电影久久久| 亚洲欧美日本韩国| 国产成人小视频| 欧美一区二区三区四区久久| 亚洲人xxxx| 国产传媒日韩欧美成人| 91精品欧美一区二区三区综合在| 亚洲欧洲精品一区二区三区 | 国产成人综合亚洲网站| 91麻豆精品91久久久久久清纯| 国产精品视频一二三区 | 欧美片网站yy| 亚洲欧美日韩国产成人精品影院 | 欧美一级片免费看| 一区二区三区四区中文字幕| 国产成人在线色| www一区二区| 麻豆精品在线观看| 91精品国产综合久久精品app| 亚洲人成网站在线| 成人av第一页| 久久久91精品国产一区二区精品| 免费久久99精品国产| 欧美午夜精品久久久久久超碰| 欧美激情一区二区三区在线| 精品一区二区免费| 欧美一区二视频| 亚洲综合另类小说| av在线不卡电影| 亚洲国产精品成人久久综合一区| 精品一区二区在线视频| 91精品在线观看入口| 调教+趴+乳夹+国产+精品| 欧美日韩午夜影院| 亚洲综合视频在线观看| 色老汉一区二区三区| 亚洲私人黄色宅男| 91网站黄www| 亚洲精品乱码久久久久久久久| 99精品一区二区| 亚洲日本va在线观看| 欧美揉bbbbb揉bbbbb| 一区二区欧美国产| 色八戒一区二区三区| 亚洲免费资源在线播放| 91视频国产观看| 亚洲蜜臀av乱码久久精品蜜桃| 色综合天天狠狠| 亚洲国产美女搞黄色| 欧美午夜精品久久久久久孕妇| 亚洲丶国产丶欧美一区二区三区| 欧美日韩一级黄| 久久精品av麻豆的观看方式| 精品不卡在线视频| 国产剧情在线观看一区二区| 国产午夜精品久久久久久免费视 | 91精品国产福利| 久久不见久久见免费视频7| wwwwxxxxx欧美| 成人av网站在线观看| 一区二区三区在线播| 欧美日韩亚洲综合一区二区三区| 偷拍与自拍一区| 精品国产在天天线2019| 成人国产精品视频| 亚洲精品一二三| 欧美一卡在线观看| 国产精品一区在线| 亚洲精品伦理在线| 欧美一区二区视频免费观看| 国产一区二区成人久久免费影院| 欧美经典一区二区| 欧美伊人久久大香线蕉综合69| 日日摸夜夜添夜夜添精品视频| 欧美tickle裸体挠脚心vk| 国产aⅴ综合色| 亚洲制服丝袜在线| 日韩视频在线永久播放| 成人不卡免费av| 亚洲国产人成综合网站| 欧美精品一区二区三区一线天视频 | 国产精品成人在线观看| 欧美视频自拍偷拍| 久久99国产精品尤物| 亚洲人成精品久久久久久| 制服丝袜日韩国产| 豆国产96在线|亚洲| 亚洲aaa精品| 国产蜜臀av在线一区二区三区| 欧美这里有精品| 国产麻豆视频一区二区| 亚洲综合色丁香婷婷六月图片| 26uuu精品一区二区三区四区在线| 99re这里都是精品| 久久国产成人午夜av影院| 亚洲色图色小说| 2欧美一区二区三区在线观看视频 337p粉嫩大胆噜噜噜噜噜91av | 中文字幕不卡在线播放| 欧美日韩一区不卡| www.久久精品| 久久99最新地址| 亚洲一区二区三区四区五区黄| 国产网红主播福利一区二区| 678五月天丁香亚洲综合网| 成人一级片在线观看| 看国产成人h片视频| 亚洲乱码一区二区三区在线观看| 26uuu国产日韩综合| 欧美乱妇15p| 色婷婷国产精品| 国产91精品免费| 美女在线一区二区| 亚洲综合色丁香婷婷六月图片| 欧美激情一二三区| 日韩欧美一区二区视频| 欧美四级电影网| 色综合天天视频在线观看 | 欧美卡1卡2卡| 色就色 综合激情| 99久久综合精品| 国产麻豆成人精品| 老司机免费视频一区二区三区| 亚洲午夜久久久久久久久久久| 亚洲欧洲精品一区二区三区不卡| 久久精品一区二区三区不卡| 日韩欧美激情四射| 欧美一区二区视频网站| 欧美在线观看18| 日本电影欧美片| 91黄色免费观看| 一本久道中文字幕精品亚洲嫩| 成人丝袜18视频在线观看| 精彩视频一区二区三区| 另类中文字幕网| 麻豆高清免费国产一区| 美女在线视频一区| 久久精品av麻豆的观看方式| 免费精品视频在线| 蜜臀av国产精品久久久久|