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

📄 xianjinxiachu.cpp

📁 先进先出 通过编写程序模拟实现单处理器系统的调度算法
💻 CPP
字号:
#include "stdlib.h"
#include"iostream.h"
int b[4]={0};
int a[12]={4,3,2,1,4,3,5,4,3,2,1,5};
int m=0,n=0;
int i,j;
Print()
{
	int i;
	for(i=0;i<4;i++)
	printf("%d ",b[i]);
	printf("\n");
	return 0;
}
FIFO()
{ 
	printf("FIFO\n");
    for(j=0;j<4;j++)
    {
		b[j]=a[j]; 
		Print();
		n++;
		getch();
	}
	for(j=4;j<12;j++)
   {
		m=0;
    
		for(i=0;i<4;i++)
			if(a[j]==b[i])
			{ 
				m=1;
				printf("\n");
				getch();
				break;
			}
        if(m==0)
		{
			for(i=0;i<3;i++)
			b[i]=b[i+1];
			b[3]=a[j];
			Print();
			n++;
			getch();
			//getche();
		}

   }
printf("FIFO page faults:%d\n",n);
printf("FIFO page fault rate:%f",(double)n/12);
getch();
return 0;

}
LRU()
{
	int c=0;
	n=0;
	printf("\nLRU:\n");
	for(j=0;j<4;j++)
   {
		b[j]=a[j];
		Print();
		n++;
		getch();
	}
	for(j=4;j<12;j++)
   {
		m=0;
		for(i=0;i<4;i++)
			if(a[j]==b[i])
			{ 
				c=a[j];
				for(i++;i<4;i++)
				{ 
					b[i-1]=b[i];
				}
				b[3]=c;
				m=1;
				printf("\n");
				getch();
			}
       if(m==0)
		{
		   for(i=0;i<3;i++)
			b[i]=b[i+1];
			b[3]=a[j];
			Print();
			n++;
			getch();

		}

	}
printf("LRU page faults:%d\n ",n);
printf("LRU page fault rate:%f",(double)n/12);
getch();
return 0;
}

main()
{
	clrscr();
    printf("The page number:\n");
    for(i=0;i<12;i++)
    { 
		a[i]=random(10);
		printf("%d ",a[i]); 
	}
	printf("\n");
	FIFO();
	LRU();
    getch();
	return 0;

}

⌨️ 快捷键说明

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