- 1、本文档共12页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
石 家 庄 经 济 学 院
信息工程学院操作系统课程设计
(计算机科学与技术专业用)
班 级 5040109031
学 号 504010903022
姓 名 薛 冰
指导教师 张建勋
2006 年 3 月 3 日
课程设计任务书
班级 5040109031 姓名 薛冰 学号 504010903022
课程设计起止日期 2006 年 月 日至2006 年月 日
260机房 152机房
虚拟存储器
课程设计内容与要求
内容:模拟分页式虚拟存储管理中硬件的地址转换和缺页中断,以及选择页面调度算法处理缺页中断。
题目一:模拟分页式存储管理中硬件的地址转换和产生缺页中断。
题目二:用先进先出(FIFO)页面调度算法处理缺页中断。
要求:首先进行软件设计,编写程序,并调试通过。
200 年 月 日一、课程设计目的
在计算机系统中,为了提高主存利用率,往往把辅助存储器(如磁盘)作为主存储器的扩充,使多道运行的作业的全部逻辑地址空间总和可以超出主存的绝对地址空间。通过这次实习理解在分页式存储管理中怎样实现虚拟存储器。
二、软硬件环境
1.软件配置
windows.xp、visual C++6.0。
2. 硬件配置
内存256MB; CPU inter pentinum?4 2.80GHz。
三、系统设计及开发过程
题目一:模拟分页式存储管理中硬件的地址转换和产生缺页中断。
1. 系统具体设计过程
(1).分页式虚拟存储系统是把作业信息的副本存放在磁盘上,当作业被选中时,可把作业的开始几页装入主存且启动执行。为此,在为作业建立页表时,应说明哪些页已在主存,哪些页尚未装入主存,页表的格式如表1
:
表1 作业页表格式
页号 标志 主存块号 在磁盘上的位置
(2).作业执行时,指令中的逻辑地址指出了参加运算的操作数存放的页号和单元号,硬件的地址转换机构按页号查页表,若该页对应标志为“1”,则表示该页已在主存,根据关系式: 绝对地址=块号×块长+单元号
计算出欲访问的主存单元地址。若访问的页对应标志为“0”,则表示该页不在主存,这时硬件发“缺页中断”信号,由操作系统按该页在磁盘上的位置,把该页信息从磁盘读出装入主存后再重新执行这条指令。
(3).设计一个“地址转换”程序来模拟硬件的地址转换工作。当访问的页在主存时,则形成绝对地址。当访问的页不在主存时,则输出“*该页页号”,表示产生了一次缺页中断。
(4).假定主存的每块长度为128字节;现有一个共七页的作业,其中第0页至第3页已经装入主存,其余三页未装入主存;该作业的页表如表2:
表2 主存中页表格式
0 1 5 011 1 1 8 012 2 1 9 013 3 1 1 021 4 0 022 5 0 023 6 0 121
如果作业依次为执行的指令序列,作业执行指令序列表,如表3:
表3 作业执行指令序列表
操作 页号 单元号 操作 页号 单元号 + 0 070 移位 4 053 + 1 050 + 5 023 × 2 015 存 1 037 存 3 021 取 2 078 取 0 056 + 4 001 - 6 040 存 6 084
题目二:用先进先出(FIFO)页面调度算法处理缺页中断。
具体设计过程
(1).在分页式虚拟存储系统中,当硬件发出“缺页中断”后,引出操作系统来处理这个中断事件。如果主存中已经没有空闲块,则可用FIFO页面调度算法把该作业中最先进入主存的一页调出,存放到磁盘上。然后再把当前要访问的页装入该块。调出和装入后都要修改页表中对应页的标志。
(2).FIFO页面调度算法总是淘汰该作业中最先进入主存的那一页,如此可以用数组来表示该作业已在主存的页面。假定作业被选中时,把开始的m个页面装入主存,则数组的元素可定为m个。例如:P[0],P[1]…,P[m-1]
其中每一个P[i](I=0,1,…, m-1)表示一个在主存中的页面号。它们的初值为:
P[0]:=0,P[1]:=1,…,P[m-1]:=m-1
用一指针K指示当要装入新页时,应淘汰的页在数组中的位置,K的初值为“0”。
当产生缺页中断后,操作系统选择P[K]所指出的页面调出,然后执行:
P[k]:=要装入的页的页号 K
文档评论(0)