赞
踩
目录
基本思想是淘汰最先进入内存的页面,即选择在内存驻留时间最长的页面予以淘汰。实现简单。按页面调入内存的先后链结为队列,设置一个替换指针,总是指向最先进入内存的页面。缺点在与进程实际运行规律不符,性能不好。
在某请求分页管理系统中,作业执行时依次访问如下页面:1,4,3,1,2,5,1,4,2,1,4,5,分配给该作业的主存块数为3
- void sort(int a[3],int temp){//顶替内存的第一个页面,并排序
- a[0]=a[1];
- a[1]=a[2];
- a[2]=temp;
- }
输入为在内存中的三个页面以及即将要进入内存的页面,但这个页面和我们在main函数直接输入的页面不一样,因为这个页面是一定与内存中页面不相同的
索引值也相当于时间先后顺序,0为最先进入内存的
排序后a[1],a[2]都会前移,新来的temp放在最后
- int IN(int a[3],int temp){//找出即将进来的进程是否在内存的三个页面中
- int flag=0;
- for(int i=0;i<3;i++){
- if(a[i]==temp){
- flag=1;
- break;
- }
- }
- return flag;
- }
IN函数输入为内存的三个页面以及即将进入内存的页面,是为了判断内存页面中是否和它重复
如果重复,则flag置为1,否则不变,还是0,最后返回flag
- void print(int a[3],int temp){
- if(IN(a,temp)==0){//如果即将进来的进程不在内存的三个页面中
- sort(a,temp);
- }
- cout<<"现在系统内的三个页面为:"<<a[0]<<" "<<a[1]<<" "<<a[2]<<endl;
- }
print函数是总流程,输入为内存的三个页面以及即将进入内存的页面
调用了IN函数后,如果返回的为0,则说明没有重复的,那么temp就要进入内存的三个页面中,即执行sort函数,然后再输出
返回为1,就默认直接输出,因为并不改变内存里的三个页面。
- int main(){
- int a[3],b[100],n;
- for(int i=0;i<3;i++){
- cout<<"请输入第"<<i<<"个页面:";
- cin>>a[i];
- }
- cout<<"现在系统内的三个页面为:"<<a[0]<<" "<<a[1]<<" "<<a[2]<<endl;
- cout<<"请按时间先后顺序输入即将进入系统的页面数目:";
- cin>>n;
- for(int i=0;i<n;i++){
- cout<<"请输入要访问的页面:";
- cin>>b[i];
- print(a,b[i]);
- }
- }
数组a是内存中的三个页面,b是即将进入内存的页面,n是即将进入内存页面的数量
- #include<iostream>
- using namespace std;
- void sort(int a[3],int temp){//顶替内存的第一个页面,并排序
- a[0]=a[1];
- a[1]=a[2];
- a[2]=temp;
- }
- int IN(int a[3],int temp){//找出即将进来的进程是否在内存的三个页面中
- int flag=0;
- for(int i=0;i<3;i++){
- if(a[i]==temp){
- flag=1;
- break;
- }
- }
- return flag;
- }
- void print(int a[3],int temp){
- if(IN(a,temp)==0){//如果即将进来的进程不在内存的三个页面中
- sort(a,temp);
- }
- cout<<"现在系统内的三个页面为:"<<a[0]<<" "<<a[1]<<" "<<a[2]<<endl;
- }
-
- int main(){
- int a[3],b[100],n;
- for(int i=0;i<3;i++){
- cout<<"请输入第"<<i<<"个页面:";
- cin>>a[i];
- }
- cout<<"现在系统内的三个页面为:"<<a[0]<<" "<<a[1]<<" "<<a[2]<<endl;
- cout<<"请按时间先后顺序输入即将进入系统的页面数目:";
- cin>>n;
- for(int i=0;i<n;i++){
- cout<<"请输入要访问的页面:";
- cin>>b[i];
- print(a,b[i]);
- }
- }
测试数据就用实验要求给出的
测试结果分析
起始 | 输入1 | 2 | 5 | 1 | 4 | 2 | 1 | 4 | 5 | |
a[0] | 1 | 1 | 4 | 3 | 2 | 5 | 1 | 1 | 1 | 4 |
a[1] | 4 | 4 | 3 | 2 | 5 | 1 | 4 | 4 | 4 | 2 |
a[2] | 3 | 3 | 2 | 5 | 1 | 4 | 2 | 2 | 2 | 5 |
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。