【操作系统-存储器管理】简单的clock置换算法的实现

这篇博客详细介绍了clock置换算法的工作原理,通过一个简单的C++代码实现展示了如何使用循环队列管理页面,并在队列满时进行页面置换。在代码中,当队列达到最大容量时,会调用turnyemian函数进行页面置换,该函数遍历队列寻找未被访问的页面进行替换。博客最后给出了几次置换操作的结果,帮助读者更好地理解clock算法。
摘要由CSDN通过智能技术生成

分析:clock置换算法是利用循环队列来实现的。操作系统课本上的讲解时这样的

代码实现:

#include<iostream>
using namespace std;
typedef struct numbernode
{
  int *data;
  bool *ask;//访问号
}Numnode;
typedef struct node
{
Numnode numnode;
int maxsize;
int rear;
int front;
}queue;
queue* create();
void push(queue *);
void pop(queue *);
int turnyemian(queue *myque,int Telem);
queue* create()
{
queue *myque=new queue;
myque->numnode.data=new int;
myque->numnode.ask=new bool;
myque->rear=0;
myque->front=0;
int i;
int m;
printf("队列共有多少个元素?\n");
scanf("%d",&m);
for(i=0;i<=m;i++)
myque->numnode.ask[i]=false;
myque->maxsize=m+1;
return myque;
}
void push(queue *myque)
{
if((myque->rear+1)%myque->maxsize!=myque->front)
{
       printf("请输入您访问的页面号?\n");
  scanf("%d",&m

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值