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

📄 newfifo.c

📁 能够实现操作系统中页面置换算法(先进先出算法)
💻 C
字号:
#include<stdio.h>
void main()
{   
    int m,k; //m为内存块数
    int i=0,j=0,count=0; //count计算缺页次数,s为缺页率
    
    int page[32],block[32]; //定义数组长度

    printf("请输入内存容量m:");
    scanf("%d",&m);

    printf("请输入页面次序:\n");
    for(i=0;i<12;i++)
    {scanf("%d",&page[i]);}
   
    for(j=0;j<m;j++)//初始化block[j];使等于-1,表示开始时内存中无页面.
    {
        block[j]=-1;                         
    }

  i=0,j=0;  
while(i<12)
{
        
    for(k=0;k<m;k++)
	{
        if(block[k]==page[i])
	   {
        printf("内存中有这个页面,直接访问.\n");
        break;
	   }
    } // 判断内存中是否有该页面. 
	
      if(k==m)
	  {    
         if(block[m-1]<0)
		 {
           block[j]=page[i];  
           printf("%d页面进入内存,",block[j]);
           count++;
           printf("产生%d次缺页\n",count);
           j++;
           j=j%m;
		 }//开始的m个页面进入内存
            
         else
		 {
           count++;
           printf("%d页面被置换出去,产生%d次缺页\n",block[j],count);            
           block[j]=page[i]; 
           j++;
           j=j%m;
		 }
            
	  }//if
     i++;
   }//while
}//main

⌨️ 快捷键说明

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