资源简介
分页存储管理是将一个进程的逻辑地址空间分成若干个大小相等的片,称为页面或页,并为各页加以编号,从0开始,如第0页、第1页等。相应地,也把内存空间分成与页面相同大小的若干个存储块,称为(物理)块或页框(frame),也同样为它们加以编号,如0#块、1#块等等。在为进程分配内存时,以块为单位将进程中的若干个页分别装入到多个可以不相邻接的物理块中。由于进程的最后一页经常装不满一块而形成了不可利用的碎片,称之为“页内碎片”
代码片段和文件信息
#include
#include
#define SizeOfPage 100
#define SizeOfBlock 128
#define M 4 //假设内存中最多允许M个页面
///////////////////////////////////////////////////////////////////////////////////////////
//结构体定义
struct infor //页表信息结构体
{
bool flag; //页标志,1表示在主存中,0表示不在主存
long block; //块号
long disk; //在磁盘上的位置
bool dirty; //更新标志
}pagelist[SizeOfPage];
long po; //队列标记
long P[M];//假设内存中最多允许M个页面
/////////////////////////////////////////////////////////////////////////////////////////////
//子函数
void init_ex1()
{
memset(pagelist0sizeof(pagelist)); //内存空间初始化
//分页式虚拟存储系统初始化
pagelist[0].flag=1;
pagelist[0].block=5;
pagelist[0].disk=011;
pagelist[1].flag=1;
pagelist[1].block=8;
pagelist[1].disk=012;
pagelist[2].flag=1;
pagelist[2].block=9;
pagelist[2
- 上一篇:C++电子相册源码
- 下一篇:C语言编写的猜单词游戏
评论
共有 条评论