⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 test5.cpp

📁 内存页式调度算法
💻 CPP
字号:

#include "stdafx.h"
#include <iostream.h>
typedef char Datatype;
#include "SeqQueue.h"
#include "LRU.h"

#include "nur.h"





void Nur();
void FIFO();
void Lru();
void main()
{
	int x=0;
	cout<<"请输入你要选择的算法:(1、FIFO  2、LRU  3、NUR  其它按键:退出)"<<endl;
	cin>>x;
	switch (x)
	{
	case 1:FIFO(); break;
	case 2:Lru();break;
	case 3:Nur();break;
	default:break;
	}

}



////////////////////////////先进先出///////////////////////
void FIFO()
{   
	float b;
    int i,j;
    char arr[]={'1','1','2','3','4','5','6','7','8','9','0','2','2','5','3','3','6','9','0','0'};
    i=0;
    j=0;
    cout<<"先进先出算法:"<<arr<<endl;
    /*cout<<"输入二十个要调度的页面号(个位数、可重复)"<<endl;
    //cin>>arr;*/

    SeqQueue sql;

    for(i=0;i<20;i++)
	{
	sql.QInsert(arr[i]);
	sql.Getitem();
   
    
	}
    cout<<"命中数为:"<<mzs<<endl;
	b=mzs;
	b=b/20;
    cout<<"命中率为:"<<b<<endl;

}
////////////////////////////////////////////////////////////





/////////////////////////////////////最近少使用///////////////////

void Lru()
{
	float b;
    int i;
    char arr[]={'1','1','2','3','4','5','6','7','8','9','0','2','2','5','3','3','6','9','0','0'};
    i=0;
    
	 LRU lru;
	
	 cout<<"最近最少使用算法:"<<arr<<endl;
 for(i=0;i<20;i++)
	{
	 
     lru.LRUInsert(arr[i]);
	 lru.Getitem();
    
	}
    cout<<"命中数为:"<<mzs2<<endl;
	b=mzs2;
	b=b/20;
    cout<<"命中率为:"<<b<<endl;
}



/////////////////////////////////最少访问页面算法/////////////////////////


void Nur()
{
    float b;
    int i,mzs3,j,pttemp;
	int temp;
     int arr2[20] = {1,1,2,3,4,5,6,8,4,2,1,3,3,3,6,7,9,9,3,2};
   static int pt[10]={0};
	i=0;
	j=0;
	mzs3=0;
	NUR nur;

	for(i=0;i<20;i++)
	{
		temp=arr2[i];
	

		nur.Insert(temp,pt);
		nur.GetData(pt);
			if(((i+1)%5)==0)         //////////系统每五个周期就清零/////////
		{
		cout<<"清零"<<endl;
		cout<<"*************"<<endl;
	    for(j=0;j<10;j++)
		{
			pt[j]=0;
		}
		}

	}

	cout<<"命中数为:"<<mz<<endl;
	b=mz;
	b=b/20;
	cout<<"命中率为:"<<b<<endl;

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -