【文件属性】:
文件名称:两个操作系统实验:存储管理、进程调度
文件大小:529KB
文件格式:RAR
更新时间:2013-01-30 10:04:17
操作系统实验 存储管理 进程调度 操作系统
本人亲自调过,绝无问题.
部分代码:
#define max 7
#define m 4
#include
#include
using namespace std;
struct table //定义页表
{ int page; //页表项对应的页号
int sign; //页面否被调入主存的标志
int clock; //页面对应的主存块号
int mod_sign; //页面在主存中是否被修改过的标志
}pg[max];
int k=0; //指示当要装入新页时应调出的页在主存的位置
int disk[max]; //存储页面在外存上的数据
int mem[m]; //存储页面在主存上的数据
int clk[m]; //初始化空闲的块号
int full=0; //指示已被占用的空闲块的数目
int p[m]; //存储调入主存中的页面的页号
//////////////////////////////////////////
//模拟将修改的页面的数据存入外存中
void store(int i) //将修改过的页面存入外存中
//注:本段程序并不负责检查页面是否被修改过,在调用store函数时,需确保页面被修改过
{ disk[i]=mem[pg[i].clock]; // 存储数据
pg[i].mod_sign=0; //将修改标志位改为0,以示页面未被修改
}
//////////////////////////////////////////
//模拟将外存中的页面调入内存的块中
void DiaoRu( int ye) //将主存中的页面调入内存,
//注:本段只负责调入页面,并不检查页面是否已在主存中,所以在掉本函数前,必须确定页面标志位为0
{ int outpage;
if( full
【文件预览】:
操作系统实验
----存储管理()
--------CCGL.ncb(49KB)
--------CCGL.DSP(3KB)
--------CCGL.CPP(10KB)
--------CCGL.DSW(516B)
--------Debug()
--------CCGL.PLG(736B)
--------CCGL.OPT(48KB)
----进程调度()
--------JCDD 1.0.dsp(3KB)
--------JCDD 1.0.dsw(524B)
--------Debug()
--------JCDD 1.0.plg(950B)
--------JCDD 1.0.ncb(33KB)
--------JCDD 1.0.opt(48KB)
--------JCDD 1.0.c(5KB)