首页 请求分页虚拟存储器设计

请求分页虚拟存储器设计

举报
开通vip

请求分页虚拟存储器设计请求分页虚拟存储器设计管理结构图:安子毓杨兴国张守元毕斐张艳丽刘川意翟高寿老师1.接口和全局结构定义//----------------基本常量定义---------------------------------#definePROCESS_SIZE//系统允许的最多进程数#definePAGE_SIZE//页面大小#defineMEMORY_SIZE//内存所含的物理块数#defineINIT_FREEBLOCKS//内存保留的空闲的物理块数#defineMAX_PAGES//最多页面数//----------...

请求分页虚拟存储器设计
请求分页虚拟存储器设计管理结构图:安子毓杨兴国张守元毕斐张艳丽刘川意翟高寿老师1.接口和全局结构定义//----------------基本常量定义---------------------------------#definePROCESS_SIZE//系统允许的最多进程数#definePAGE_SIZE//页面大小#defineMEMORY_SIZE//内存所含的物理块数#defineINIT_FREEBLOCKS//内存保留的空闲的物理块数#defineMAX_PAGES//最多页面数//----------------基本数据结构定义---------------------------//***********************操作队列结构****************************structop_Que{intprocessNum;//进程编号inttime;//进程起始时间intpages;//进程包含的页面数intoper;//进程 要求 对教师党员的评价套管和固井爆破片与爆破装置仓库管理基本要求三甲医院都需要复审吗 的操作:1=提交;2=释放intprotection;//权限:0=PAGE_READONLY;//1=PAGE_READWRITE//2=PAGE_EXECUTE};structQueNode{structop_QueopQuene;structopQue*next};structopQue{structQueNode*front;structQueNode*rear;};//******************************************************************//***********************模拟内存使用情况**********************structblock//内存中每一个物理块的结构{intstate;//当前块的状态:1=空闲;2=已被分配;intarray[PAGE_SIZE];//块内字节的使用情况(程序扩展用)};structfreeQueNode//系统保留的物理块队列结构{intblockNumber;//当前块的编号int*next;};structfreeQue//空闲物理块队列{freeQueNode*front;freeQueNode*rear;}structmemory//内存的模拟结构{blockblocks[MEMORY_SIZE];//物理块freeQuefQ;//空闲队列,每一数据项为内存块的编号};//*******************************************************************//*************************页表*****************************structpage//页表项结构{intprocessNum;//进程号intpageNumber;//特定进程pricess中虚拟页面的编号intblockNumber;//物理块号intstate;//当前页的状态:0=外存;1=内存;intaccessNum;//当前页被访问的次数intaddress;//外存地址(程序扩展用)};structpageTable//页表结构{pagepages[MEMORY_SIZE]};//*******************************************************************//*******************************************************************structaccessArrayStruct//虚拟地址结构{intprocessNum;//访问的进程号intpageNumber;//该进程的页号intpageAddress;//页内地址};//*******************************************************************2.模拟进程的申请,形成进程申请队列本模块包括2个子模块。子模块1:模拟进程的申请。随机形成一队列,模拟请求分页系统中进程的执行顺序。随机队列的每一项元素包含进程编号、进程中含有的页面数、进程要求的操作以及权限。其中:process//进程编号pages//进程要访问的页面数oper//进程要求的操作:1=提交;2=释放protection//权限:0=PAGE_READONLY1=PAGE_READWRITE2=PAGE_EXECUTE子模块2:模拟进程对页面的访问序列。随即产生一队列,模拟请求分页系统中进程对页面的访问序列。随机队列的每一项元素包含进程编号、页号、页内地址。其中:process//进程号pageNumber//将要访问的该进程的页面pageAddress//页内地址3.读取opQue队列,进行内存分配和回收,同时生成和修改页表pageTable开始读oper(n为进程数)Oper==1?Y分配个物理块给进程对分配的每一个物理块k,使其page项中NOper==2?选择进程对应的page项中较小的个物理块Y以上得到的物理块,使:,结束4.读取accessArray,通过查找pageTable进行地址转换,同时更新pageTable。系统生成流程和程序设计流程详细流程图:读取进程号progressNum是退出,报错读取该进程将要访问的页号pageNum否是否越界是否越界是退出报错否由accessArray开始由progressNum和pageNum在pageTable中检索是接软件输出程序模块1否由进程编号processNum在memory.blocks中检索Blocks[blockNum].state=1?是否将页面pageNum调入内存,修改页表接软件输出程序模块2接下页接上freeQueneisNull?是否把freeQuene中的一个空闲物理块分给processNum,修改页表接软件程序输出模块3在进程processNum中检索最久未使用页面pageNum在momry中找到pageNum所在物理块,换出修改页表
本文档为【请求分页虚拟存储器设计】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
个人认证用户
言言无悔一生
暂无简介~
格式:doc
大小:27KB
软件:Word
页数:8
分类:
上传时间:2022-01-21
浏览量:0