ImageVerifierCode 换一换
格式:DOCX , 页数:25 ,大小:274.99KB ,
资源ID:13238955      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/13238955.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(操作系统分页式存储管理专业课程设计样本Word文档下载推荐.docx)为本站会员(b****0)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

操作系统分页式存储管理专业课程设计样本Word文档下载推荐.docx

1、指导教师孟永刚设备编号设计题目虚拟存储器一、设计内容模拟分页式虚拟存储管理中硬件的地址转换和缺页中断,以及选择页面调度算法处理缺页中断。二、设计目的在计算机系统中,为了提高主存利用率,往往把辅助存储器(如磁盘)作为主存储器的扩充,使多道运行的作业的全部逻辑地址空间总和可以超出主存的绝对地址空间。用这种办法扩充的主存储器称为虚拟存储器。通过本实习帮助同学们理解在分页式存储管理中怎样实现虚拟存储器。三、设计过程、 同组人员:陈秀 张德蛟1. 数据结构设计本设计所用的数据结构包括:结构体和数组,详细描述如下:指令结构体如下typedef struct int page_num;/页号 int uni

2、t_num;/单元号order;页表结构体如下typedef struct int flag;/标志 int memery_num;/主存储块号 int m_flag;/修改标志 char location4;/在磁盘上的位置pageform;作业页表数组如下#define C 7pageform aC;主存页表数组如下#define C1 4pageform pC1; 2. 算法设计 1) 该源程序分为以下几个模块: (1)主存初始化模块(2)页表初始化模块(3)打印初始化后的页表信息模块(4)地址转换和产生缺页中断模块(5)先进先出(FIFO)页面调度算法处理缺页中断模块 2) 对各模块进

3、行详细说明:(1)主存初始化模块函数:memunit_init()入口参数:无出口参数:功能描述:调入4个页面对4个空闲主存进行页面初始化,调入页面包括a0,a1,a2,a3;空闲主存包括 p0,p1,p2,p3。流程图如图1所示: 图1主存初始化模块page_init()对作业页表表项初始化,包括对页面a0,a1,a2,a3,a4,a5,a6的初始化。流程图如下: 图2 (3)打印页表信息pageform_print()打印初始化后的作业页表表项,对作业页表表项初始化,包括对页面a0,a1,a2,a3,a4,a5,a6的初始化;然后打印a0,a1,a2,a3,a4,a5,a6各页表项。流程图

4、如图3所示: 图3打印页表信息模块(4)地址转换和产生缺页中断模块 order1()根据取出的指令的页号查找页表,如果该页的标志位=1就输出该页的绝对地址,否则发生缺页中断打印 * 页号。流程图如图4所示: 图 4地址转换和产生缺页中断模块函数:order2()出口函数: 功能描述:根据取出的指令的页号查找页表,在该页的标志位=1的前提下,如果是存命令, 就置该页的修改标志位=1并且计算和输出该页的绝对地址,如果不是存命令,就只计算和输 出该页的绝对地址;在该页的标志位=0的前提下,则模拟FIFO算法,k初始化为0,则执行把pk的各个表项分别赋值给j的各个表项,判断j页的修改标志是否为1 ,如

5、果为1就输出 OUT j并且输出IN cmd.page_num,否则只输出 IN cmd.page_num,执行把cmd.page_num赋值给pk.page_num,再执行k:=(k+1)mod m,然后修改所有由于输入命令所引起的有关的页面各种表项,最后输出所有作业页面的最新表项。流程图如图5所示: 图5 先进先出(FIFO)页面调度算法处理缺页中断模块4、程序运行结果 源程序代码链接:虚拟存储器.cpp1.执行程序后初始化的窗口截屏如图6: 图 6 初始化的窗口 2.输入 1后的窗口截屏如图7所示: 图7 输入1后的窗口3.输入的页号为0,输入的单元号为70,输入有后继指令,结果截屏如图

6、8所示: 图 8 输入已在主存中的作业 4. 输入的页号为4,输入的单元号为53,输入无后继指令,结果截屏如图9所示: 图 9 输入未在主存中的作业 5. 输入 2后的初始窗口截屏如图10所示: 图10 输入 题目2的初始化窗口6. 输入的页号为0,输入的单元号为70,输入存指令,输入无后继指令,结果截屏如图11所示: 图 11 输入新指令 7. 输入的页号为4,输入的单元号为53,输入存指令,输入有后继指令,结果截屏如图12所示:图 12 输入新指令 8. 输入的页号=5,输入的单元号=23,输入非存指令,输入无后继指令,结果截屏如图13所示:图 13 输入新指令5、设计总结 此次试验,全部

7、程序及全部模块均参与研究,现在均已熟悉,对各个模块都详细的说明了它们的功能等等,两周的课程设计结束了,在这次的课程设计中不仅检验了我所学习的知识,并且更正了我的一个误区,让我对所学的知识有了更深刻的认识。六、指导教师评语及成绩评语:成绩: 年 月 日源代码#includestring.hint k=0;int i=0;int select;pageform j;int n;/是否有后继指令int x;void memunit_init() p0.page_num=0; p0.flag=1; p0.memery_num=5; p0.m_flag=0; strcpy(p0.location,011

8、); p1.page_num=1; p1.flag=0; p1.memery_num=8; p1.m_flag=0; strcpy(p1.location,012 p2.page_num=2; p2.flag=1; p2.memery_num=9; a2.m_flag=0; strcpy(p2.location,013 p3.page_num=3; p3.flag=1; p3.memery_num=1; p3.m_flag=0; strcpy(p3.location,021void page_init() a0.page_num=0; a0.flag=1; a0.memery_num=5; a

9、0.m_flag=0; strcpy(a0.location, a1.page_num=1; a1.flag=1; a1.memery_num=8; a1.m_flag=0; strcpy(a1.location, a2.page_num=2; a2.flag=1; a2.memery_num=9; strcpy(a2.location, a3.page_num=3; a3.flag=1; a3.memery_num=1; a3.m_flag=0; strcpy(a3.location, a4.page_num=4; a4.flag=0; a4.m_flag=0; strcpy(a4.loca

10、tion,022 a5.page_num=5; a5.flag=0; a5.m_flag=0; strcpy(a5.location,023 a6.page_num=6; a6.flag=0; a6.m_flag=0; strcpy(a6.location,121void recycle() cout页号 标志 主存块号 修改标志 磁盘位置endl; for(int i=0;iC;i+) if(ai.flag=1) coutai.page_num ai.flagai.memery_num ai.m_flagai.locationcmd.page_num; if(cmd.page_num6|cmd.page_num0) do cout请重新输入正确页号(0-6):cmd.page_nu

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1