实验 2 源代码
#include
#define n 10
#define m 3
//页的大小为 2 的 n 次方
//实际为该作业分配的主存块块数
#define page_length 5
//页表实际长度
struct
//页表
{
int lnumber;
//页号
int pnumber;
//该页所在主存块的块号
int flag;
//状态位,"1"表示该页在主存,"0"表示该页不在主存
int write;
//修改位,"1"表示该页内容被修改过,"0"表示该页内容末修改过
int dnumber;
//该页存在外存位置,即磁盘块号
}page[page_length];
int p[m];
int head;
//存放在主存中页的页号
//主存中页号队列 p 首指针
void page_interrupt(int lnumber) //缺页中断处理函数
{
int j;
cout<<"页"<