操作系统实验五.pdfVIP

  1. 1、本文档共11页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

实验五虚拟存储器管理

实验目的

1、理解虚拟存储器概念。

2、掌握分页式存储管理地址转换和缺页中断。

实验内容与基本要求

1、模拟分页式存储管理中硬件的地址转换和产生缺页中断。

2、用先进先出页面调度算法处理缺页中断。

实验报告内容

1、分页式存储管理和先进先出页面调度算法原理。

2、程序流程图。

3、程序及注释。

4、运行结果以及结论。

1、分页式存储管理和先进先出页面调度算法原理。

在存储器管理中,连续分配方式会形成许多“碎片”,虽然可通过“紧凑”方法将许多

碎片拼接成可用的大块空间,但须为之付出很大开销。如果允许将一个进程直接分散地装入

到许多不相邻的分区中,则无须再进行“紧凑”。基于这一思想而产生了离散分配方式。如

果离散分配的基本单位是页,则称为分页存储管理方式。在分页存储管理方式中,如果不具

备页面对换功能,则称为基本分页存储管理方式,或称为纯分页存储管理方式,它不具有支

持实现虚拟存储器的功能,它要求把每个作业全部装入内存后方能运行。

先进先出调度算法根据页面进入内存的时间先后选择淘汰页面,先进入内存的页面先淘

汰,后进入内存的后淘汰。本算法实现时需要将页面按进入内存的时间先后组成一个队列,

每次调度队首页面予以淘汰。

这种调度算法总是淘汰最先进入内存的那一页,FIFO算法简单,实现容易。

一种实现方法是把装入内存的那些页的页号按进入的先后次序排成队列,用指针K指

示当前调入新页时应淘汰的页在队列中的位置。每当调入一个新页后,在指针指示的位置上

填上新页号,然后指针K加1,指向下一次应淘汰的页。

2、程序流程图

3、程序及注释

#includecstdio

#includecstring

#defineSizeOfPage100

#defineSizeOfBlock128

#defineM4

structinfo//页表信息结构体

{

boolflag;//页标志,1表示该页已在主存,0表示该页不在主存

longblock;//块号

longdisk;//在磁盘上的位置

booldirty;//更新标志

};

structinfopagelist[SizeOfPage];

longpo;//队列标记

longP[M];//假设内存中最多允许M=4个页面

voidinit_ex1()//内存空间初始化。

{

memset(pagelist,0,sizeof(pagelist));//将内存空间初始化为0

//下面对分页式虚拟存储系统赋值

pagelist[0].flag=1;

pagelist[0].block=5;

pagelist[0].disk=001;

pagelist[1].flag=1;

pagelist[1].block=8;

pagelist[1].disk=002;

pagelist[2].flag=1;

pagelist[2].block=9;

pagelist[2].disk=003;

pagelist[3].flag=1;

pagelist[3].block=1;

pagelist[3].disk=004;

}

voidwork_ex1()//模拟分页式存储管理中硬件的地址转换和产生缺页中断过程

{

boolstop=0;

longp,q;

chars[128];

do

{

请输入指令的页号和单元号请输入指令的页号和单元号

{

//如果输入的为如果输入的为那么就退出,进入重选

页面

{

stop=1;

}

}

else

{

if(pagelist[p].flag)//如果该页flag标志位为1,说明该页在主存中

{

文档评论(0)

152****1989 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档