页面置换算法(FIFO,LRU,OPT)c模拟

本文介绍了如何使用C语言模拟三种页面置换算法:先入先出(FIFO)、最近最少使用(LRU)和最佳(OPT)算法。通过实例分析和代码实现,深入理解这些算法的工作原理及其在内存管理和缓存优化中的应用。
摘要由CSDN通过智能技术生成
/*
 * memory.c
 *
 *  Created on: Jun 9, 2010
 *      Author: WangYun
 */
#include<stdio.h>

#define PAGE_NUM  20
#define BLOCK 3

void get_page(int page_seq[])
{
 int i=PAGE_NUM;
 printf("Please input %d numbers,which is  the sequence of page number "
   "such as(7 0 1 8 ...)\n",i);
 for(i=0;i<PAGE_NUM;i++)
  scanf("%d",&page_seq[i]);
}

int sum_found(int found[])
{
 int i;
 int sum=0;
 for(i=0;i<BLOCK;i++)
  sum+=found[i];
 return sum;
}

int opt(int page_seq[])
{
 int p;
 int i,j;
 int found[BLOCK]={0};
 int block[BLOCK];
 int lack=0;
 for(i=0;i<BLOCK;i++) /*Initiate the physical block*/
   block[i]=-1;
 for(i=0;i<PAGE_NUM;i++)
 {
  for(p=0;p<BLOCK;p++)
   found[p]=0;
  for(p=0;p<BLOCK;p++)
   if(block[p]==page_seq[i])
    break;
  if(p==BLOCK)  /*Not find the page in the physical b
  • 0
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值