一、实验题目: 模拟请求分页管理中地址转换和缺页中断处理
二、实验目的: 了解内存请求分页管理中地址转换过程与先进先出置换算法和缺页中断处理过程。
三、实验环境:
1、硬件:PC机及其兼容机。
2、软件:Windows OS,MS—DOS OS,Turbo C 或 C++、VC++等。
四、实验内容:
1、 在页式管理中,地址转换是由硬件完成的,实验中设计程序模拟地址转换过程。
5、设计缺页中断处理程序。当对读入的逻辑地址,划分为页号、页内地址后,通过页表发现访问的页不在内存,转入“缺页中断处理”程序去处理。
五、运行示例:
六、算法流程图:
七、程序清单:
#include<stdio.h>
#include<iostream>
#include<string.h>
#include<windows.h>
#define PN 7//页面数
#define PAGESIZE 1024//页面大小
typedef struct pagetab{
int no;//页号
int status;//状态 1-该页在内存,0-该页不在内存
int pbo;//物理块号
}PAGETAB;
void menu(PAGETAB pg[]){
int i;
printf("------OS实验四:模拟请求分页管理中地址转换和缺页中断处理------\n");
printf("---输入装入内存的页面号及存入的物理块号(假定分配3个物理块)----\n");
for(i=0;i<3;i++){
//初始化页表(一)
scanf("%d",&pg[i].no);
pg[i].status=1;
scanf("%d",&