版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、石家庄经济学院华信学院操作系统课程设计报告(学院)系:华信学院专 业:计算机科学与技术姓 名:班级:09级3班学号:40941708032指导教师:孟永刚2012年6月22日操作系统课程设计报告姓名宋攀学号4日期2012 年 6 月 11-21 号实验室机房2、3指导教师孟永刚设备编号设计题目虚拟存储器一、设计内容模拟分页式虚拟存储管理中硬件的地址转换和缺页中断,以与选择页面调度算法处理缺页中断。二、设计目的在计算机系统中,为了提高主存利用率,往往把辅助存储器(如磁盘)作为主 存储器的扩充,使多道运行的作业的全部逻辑地址空间总和可以超出主存的绝对 地址空间。用这种办法扩充的主存储器称为虚拟存储
2、器。通过本实习帮助同学们 理解在分页式存储管理中怎样实现虚拟存储器。三、设计过程、同组人员:陈秀张德蛟1. 数据结构设计本设计所用的数据结构包括:结构体和数组,详细描述如下: 指令结构体如下typedef structint page_ nu m;页号int unit_nu m;单兀号order;页表结构体如下typedef structint page_ nu m;页号int flag;/ 标志int memery_num;主存储块号int m_flag;修改标志char locatio n 4;/在磁盘上的位置pageform;作业页表数组如下#defi ne C 7 pageform a
3、C;主存页表数组如下#defi ne C14pageform pC1;2. 算法设计1)该源程序分为以下几个模块:(1 )主存初始化模块(2)页表初始化模块(3)打印初始化后的页表信息模块(4)地址转换和产生缺页中断模块(5)先进先出(FIFO )页面调度算法处理缺页中断模块2)对各模块进行详细说明:(1)主存初始化模块函数:memunit_init()入口参数:无出口参数:无功能描述:调入4个页面对4个空闲主存进行页面初始化,调入页面包括a0,a1,a2,a3;空闲主存包括 p0,p1,p2,p3。图1主存初始化模块(2) 页表初始化模块函数:pagenit()入口参数:无出口参数:无功能描
4、述:对作业页表表项初始化,包括对页面a0,a1,a2,a3,a4,a5,a6的初始化。流程图如下:严*1开始初始化作业各页表项图2(3) 打印页表信息函数:pageform_print()入口参数:无出口参数:无功能描述:打印初始化后的作业页表表项,对作业页表表项初始化,包括对页面 a0,a1,a2,a31 ,a4,a5,a6的初始化;然后打印 开始图4地址转换和产生缺页中断模块(5)先进先出(FIFO )页面调度算法处理缺页中断模块函数:order2()入口参数:无出口函数:无功能描述:根据取出的指令的页号查找页表,在该页的标志位=1的前提下,如果是存命令,就置该页的修改标志位=1并且计算和
5、输出该页的绝对地址,如果不是存命令,就只计算和输出该页的绝对地址;在该页的标志位=0的前提下,则模拟FIFO算法,k 初始化为0,则执行把pk的各个表项分别赋值给j的各个表项,判断j页的修改标志是否为1 ,如果为1就输出 OUT j并且输出IN cmd.page_num ,否则只输出INcmd.page_num ,执行把 cmd.page_num 赋值给 pk.page_num ,再执行k:=(k+1)mod m,然后修改所有由于输入命令所引起的有关的页面各种表项,最后输出所有作业页面的最新表项値输入题諭内存鬻下主存块号11110 0 0修改标志磁盘位置01191231302102202312
6、1-W- 3 iSi i£ 一图7输入1后的窗口3. 输入的页号为0,输入的单元号为70,输入有后继指令,结果截屏如图 8所示:CiXDOCUMEHTS AKD SETTIHGSADIIHISTRATORWf409417D8Q3245feBebu尝前内存页星口下: 而'l标心11主存块号59修改标志00Q0000磁盘便置0116120130210220231214£1000请输入新指令的单元号:70是否有后继指令少61绝对地址为r 710图8输入已在主存中的作业 /4. 输入的页号为4,输入的单元号为53,输入无后继指令,结果截屏如图9所示:W 主存块号修改标志0S
7、磷蛊位置01101261362162 3623121t-v CzXDOCmEMTS AID SETTIHGSXADIiaiSTRATORX面MDMlTDSDdM宋皐WeIhi11180郵遵黑鬍贾号*0请输入新指令的单元号:70是否有后继指令0/1 =绝对地址为:710鹼矯霸蔬号:4请输入新捐令的单元号I是否有后继指令0/10Pre5 any key to contdnie图9输入未在主存中的作业5. 输入2后的初始窗口截屏如图10所示:0002341 1 Q0Q210128 S肛29 0Q13主存块号0 1二羽h ClWCUlEITS Aim SETTIliGSADIlJiLSTRATOR 桌
8、画14仙411UUM 21 宋畢 IMbm.0藹内存黔下号页0?曙 入必 输输 6WW燼改标志0磁盘位置011图10输入题目2的初始化窗口6. 输入的页号为0,输入的单元号为70,输入存指令,输入无后继指令,结果 截屏如图11所示:修改标志磁盘位置主存块号擲存踏1111070号元单>: 的zn 令心 舀令 S 入存 输否12 3 4呂石请请请是y是1绝请请寻k0 0指令入入171盘 为的?8 址地入入盂 *C:D0CUIEHTS)SETTIHGSADII¥ISTRATOK桌面40941708032*1 宋拳诒输人题v<lz2> =图11输入新指令7. 输入的页号为4
9、,输入的单元号为 53,输入存指令,输入有后继指令,结 果截屏如图12所示:心"C:DOCUIENTS AJO) SET TING SAI>IIliISTRATOR< 面 14D 旳 lT(J80d 制末春 M>Ebu是否有后继扌旨令WZD21绝对地址为 ?ia4请输入新指令的单元号汚丁是杏存扌旨令1IH 4贡号标志主存块号S01121?3111弓0&电否有后继指令C0/1>:傷改标志磁盘位置12 3 12 31112 2 20 0 0 0 0 0121图12输入新指令8. 输入的页号=5,输入的单元号=23,输入非存指令,输入无后继指令,结果截屏如图
10、13所示:cv *C:)OCUIEirS AND SEIT1BGSSTRATO面V10财 170803创宋拿ID訪毗0 01an11 80012219B01331 1Q即1415102250092300121请*5请辛俞入新的指今: 备入嶄指令馬页号;俞入新指令的单元号吃丁写存指令头是否有后继指令®60IN5瓦号标志主存块号傻改标志磁盘位置601Oil00012219G01331 160214151Q2251 8e0230&121Pfcsskwy to comtinue图13输入新指令五、设计总结此次试验,全部程序与全部模块均参与研究,现在均已熟悉,对各个模块都详 细的说明了
11、它们的功能等等,两周的课程设计结束了,在这次的课程设计中不仅检 验了我所学习的知识,并且更正了我的一个误区,让我对所学的知识有了更深刻 的认识。六、指导教师评语与成绩评语:成绩:源代码#in clude<iostream.h>#in cludevstri ng.h>#defi ne C 7#defi ne C1:ypedef structint page_ nu m;页号int flag;/ 标志int memery_num;/主存储块号int m_flag;修改标志char locati on 4;/在磁盘上的位置pageform;pageform aC;pageform
12、pC1;nt k=0;nt i=0;nt select;pageform j;nt n;/是否有后继指令nt x;:ypedef struct int page_ nu m; 页号int unit_nu m; 单元号order;void mem un it_i nit()p0.page_ num=0;p0.flag=1;p0.memery_ num=5;p0.m_flag=0; strcpy(p0ocatio n,"011"); p1.page_ num=1;p1.flag=0;p1.memery_ num=8;p1.m_flag=0;strcpy(p1.locatio n
13、,"012"); p2.page_ num=2;p2.flag=1;p2.memery_ num=9;a2.m_flag=0;strcpy(p2.locatio n,"013");p3.page_ num=3;p3.flag=1; p3.memery_ num=1; p3.m_flag=0;strcpy(p3ocatio n,"021");void page_i nit()a0.page_ num=0;a0.flag=1;a0.memery_ num=5; a0.m_flag=0;strcpy(a0.locatio n,"0
14、11");a1.page_ num=1;a1.flag=1;a1.memery_ num=8; a1.m_flag=0;strcpy(a1.locatio n,"012");a2.page_ num=2;a2.flag=1;a2.memery_ num=9; a2.m_flag=0;strcpy(a2.locatio n,"013");a3.page_ num=3; a3.flag=1; a3.memery_ num=1; a3.m_flag=0;strcpy(a3ocatio n,"021");a4.page_ num=4
15、; a4.flag=0;a4.m_flag=0; strcpy(a4.locatio n,"022");a5.page_ num=5; a5.flag=0; a5.m_flag=0;strcpy(a 5 .locatio n,"023");a6.page_ num=6; a6.flag=0;a6 .m_flag=0;strcpy(a 6 .locatio n,"121");void recycle()"<<"修改标志Cout«" 页号"<<"标志&qu
16、ot;<<"主存块号'<<"磁盘位置"<<endl;for(i nt i=O;i<C;i+)if(ai.flag=1)"vvai.flagv<""vvai.m_flagv<"cout<<ai.page_ num<<"'<<ai.memery_ num<<" '<<ai.locati on«en dl;elsecout<<ai.page_ num&l
17、t;<""vvai.m_flagv<""vvai.flagv<""<<""<<ai.locati on«en dl;pageform_pri nt() page_i ni t();cout«"当前内存页表如下:"<<endl;recycle();order1() page_i nit();order cmd;cout«"请输入新的指令:"<<e ndl;cout«&quo
18、t;请输入新指令的页号:"<<e ndl;cin> >cmd.page_ num;if(cmd.page_ num >6|cmd.page_ num<0) docoutvv"请重新输入正确页号(0-6):"<<endl;cin> >cmd.page_ num;while(cmd.page_ num >6|cmd.page_ num <0);cout«"请输入新指令的单元号:"<<e ndl;cin> >cmd.u nit_num;coutv
19、v" 是否有后继指令(0/1):"<<endl;cin»n;if(acmd.page_ nu m.flag=1)x=128*acmd.page_ nu m.memery_ nu m+cmd.u nit_num; coutvv" 绝对地址为:"vvxvve ndl;elsecout«"* "<<cmd.page_ num <<e ndl;void order2()mem un it_i nit();char r;order cmd;cout«"请输入新的指令:&
20、quot;<<e ndl;coutvv"请输入新指令的页号:"<<e ndl;cin> >cmd.page_ num;if(cmd.page_ num >6|cmd.page_ num<0)docoutvv"请重新输入正确页号(0-6):"<<endl; cin> >cmd.page_ num;while(cmd.page_ num >6|cmd.page_ num <0);coutvv"请输入新指令的单元号:"cin> >cmd.u ni
21、t_num;cout«"是否存指令(y/n):"«endl;cin»r;cout«" 是否有后继指令(0/1):"<<endl;cin»n;if(acmd.page_ nu m.flag=1)x=128*acmd.page_ nu m.memery_ nu m+cmd.u nit_num; if(r='y')acmd.page_ nu m.m_flag=1;elsecout«" 绝对地址为:"vvxvve ndl;elsej.flag=pk.flag;j.m_flag=pk.m_flag;j.memery_ num=pk.memery_ num;j.page_ num
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 统编人教版六年级语文上册第16课《夏天里的成长》精美课件
- 2024版建筑项目环境保护合同2篇
- 简易混凝土购销合同 范本版
- 电子设计基础与创新实践教程-课件 【ch06】数字电路设计
- 2024年度加工承揽合同违约处理2篇
- 软件产品合作协议范本完整版
- 2024年度廉政合同签订流程
- 表面积课件教学课件
- 劳务用工协议书范本
- 水电维修合同范本标准版
- 老旧排水管网改造投标技术方案(技术标)
- 大学生国家安全观论文1500字【3篇】
- 反恐怖宣传教育进校园主题班会
- 小学科学教师专业技能大赛实施方案
- 《预防校园霸凌+呵护青春远航 》主题班会课件
- 中外政治思想史-形成性测试三-国开(HB)-参考资料
- 四川航空介绍
- 感恩父母励志学习主题班会
- 《预防传染病》 完整版课件
- 电加热设备安全检查表
- 如何应对压力下的时间管理
评论
0/150
提交评论