- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
石家庄经济学院
课程设计报告
(学 院)系: 信息工程学院
专 业: 软件工程
姓 名:
班 级:
学 号:
指导教师:
2012年 1 月 15 日
操作系统课程设计报告
姓名
学号
日期
2012.1.7-2010.1.20
实验室
152机房
指导教师
设备编号
53
设计题目
虚拟存储器
一、设计内容
模拟分页式虚拟存储管理中硬件的地址转换和缺页中断,以及选择页面调度算法处理缺页中断。
二、设计目的
在计算机系统中,为了提高主存利用率,往往把辅助存储器(如磁盘)作为主存储器的扩充,使多道运行的作业的全部逻辑地址空间总和可以超出主存的绝对地址空间。用这种办法扩充的主存储器称为虚拟存储器。通过本实习帮助同学理解在分页式存储管理中怎样实现虚拟存储器。
三、设计过程
数据结构设计
作业页表以一个结构体数组实现,每个表项为一个包含标志位、主存块号、磁盘位置、修改标志、time五个变量的结构体,定义P[M]数组为装入到主存的页面,po为正在访问或者要装入的页面,
用结构体数组来表示页面。
结构体数组及整型变量如下:
struct page//页表
{
long flag; //标志
long block;//主存块号
long disk;//在磁盘上的位置
long dirty;//修改标志
int time;
}pagelist[SizeOfPage];
long P[M] 为进入主存的页面建立的数组。
2、算法设计
主函数main()
功能:根据用户所输入的随机数,进行地址转换,使用fifo页面调度算法,以及使用lru页面调度算法。
流程图:见图1
图 1
(2) 初始化函数page()
功能:根据实验的要求,对页表初始化。
(3) 地址变换函数work()
功能:实现模拟分页式存储管理中硬件的地址转换和产生缺页中断的功能。若输入的页面在主存,则根据公式计算出绝对地址,否则输出“*该页页号”。
流程图:见图2
图2
(4)先进先出函数 workfifo()
功能:实现fifo算法,用FIFO页面调度算法把该作业中最先进入主存的一页调出,然后装载新的页面。
流程图:见图3
图3
(5) GetMax()函数
功能:比较进入主存中页time的大小,得到最近最少用的页号,从而得到要调出的页号,返回值是可,即在数组中的位置。
流程图:见图4
图4
(6)worklru()函数
功能:实现lru算法,淘汰该作业中距现在最久没被访问过的那页,然后装载新的页面。
流程图:见图5
图 5
四、程序实现及运行结果
(1)源程序见 HYPERLINK 源程序/源程序/源程序.cpp 源程序\源程序\源程序.cpp
(2)运行结果
1.菜单及退出
2.进行地址变换操作
3.进行先进先出操作
输入4 098
4.进行最近最少用操作
输入4 098
五、设计总结
这次操作系统课程设计是“模拟分页式虚拟存储管理中硬件的地址转换和缺页中断,以及选择页面调度算法处理缺页中断”,题目中包括了三个题目,“求绝对地址和模拟产生中断”“利用FIFO算法处理中断” “利用LRU算法处理中断”。
本次试验我获得了很多经验,拿到题目之后及时的去读懂题目的要求,并在课余的时候和同学相互讨论题目之中的一些比较难的算法,大家在一起讨论,很容易明白实验内容和如何去实现要求。按照老师说的先把结构研究出来,然后再写程序,让我更清楚的知道怎样去实现实验中的内容。
六、指导教师评语及成绩
评语:
成绩:
年 月 日
附源程序
#include stdio.h
#include string
#define SizeOfPage 7
#define SizeOfBlock 128
#define M 4
struct page//页表
{
long flag; //标志
long block;//主存块号
long disk;//在磁盘上的位置
long dir
您可能关注的文档
- 《水文预报课程设计》-毕业论文设计(学术).doc
- 《材料力学课程设计--HZ140TR2后置旅游车底盘车架的静力及强度刚度分析》-毕业论文设计(学术).doc
- 《材料力学课程设计--传动轴静强度、变形及挠度计算》-毕业论文设计(学术).doc
- 《材料力学课程设计--旅游车后置底盘》-毕业论文设计(学术).doc
- 《橡皮胀形模课程设计说明书》-毕业论文设计(学术).doc
- 《机电传动控制课程设计-工业铲车操作PLC控制》-毕业论文设计(学术).doc
- 《机电一体化课程设计-CA6140车床开环纵向系统设计说明书》-毕业论文设计(学术).doc
- 《机械设计课程设计—蜗轮-斜齿轮二级减速器加热炉装料机》-毕业论文设计(学术).doc
- 《机械原理课程设计-压床齿轮机构设计》-毕业论文设计(学术).doc
- 《机械原理课程设计-专用精压机》-毕业论文设计(学术).doc
- 《编译原理课程设计-PL0语言的扩充》-毕业论文设计(学术).doc
- 《落料、拉深、冲孔复合模的课程设计》-毕业论文设计(学术).doc
- 《自行车状态显示系统设计说明书》-毕业论文设计(学术).doc
- 《管理信息系统课程设计报告--范莱蒂公司房屋租赁管理系统》-毕业论文设计(学术).doc
- 《绕线异步电动机串电阻启动设计》-毕业论文设计(学术).doc
- 《算法与数据结构课程设计--进销存货物管理系统》-毕业论文设计(学术).doc
- 《甲醇加热器设计说明书》-毕业论文设计(学术).doc
- 《盘丝包装盒盒课程设计》-毕业论文设计(学术).doc
- 《窑炉设计说明书_日产28000件花瓶隧道窑设计》-毕业论文设计(学术).doc
- 《VB应用软件设计实践-报刊订阅管理系统课程设计》-毕业论文设计(学术).doc
文档评论(0)