南京邮电大学实验报告模版 2.docx
- 文档编号:686890
- 上传时间:2022-10-12
- 格式:DOCX
- 页数:18
- 大小:98.44KB
南京邮电大学实验报告模版 2.docx
《南京邮电大学实验报告模版 2.docx》由会员分享,可在线阅读,更多相关《南京邮电大学实验报告模版 2.docx(18页珍藏版)》请在冰豆网上搜索。
南京邮电大学实验报告模版2
实验报告
(学年第一学期)
课程名称
计算机操作系统
实验名称
虚拟存储中页面置换算法的模拟实现
实验时间
年
月
日
指导单位
南京邮电大学
指导教师
崔衍
学生姓名
班级学号
学院(系)
物联网院
专业
网络工程
实验报告
实验名称
虚拟存储中页面置换算法的模拟实现
指导教师
崔衍
实验类型
上机实验
实验学时
实验时间
一、实验目的和要求
目的:
通过请求页式存储管理中页面置换算法模拟设计,
了解虚拟存储技术的技术特点,
掌握请求页式存储管理的页面置换算法
要求:
()设计实现下面算法,并输出下述各种算法的命中率。
①先进先出的算法();
②最近最少使用算法();
③最佳淘汰算法()先淘汰最不常用的页地址。
()多次反复运行改进后的程序,观察并记录运行结果,并分析原因。
二、实验环境(实验设备)
二、实验原理及内容
实验三
<>
<>
<>
<>
声明一种新类型——物理块类型
{
页号
访问字段,其值表示多久未被访问
};
程序计数器,用来记录指令的序号
缺页计数器,用来记录缺页的次数
[]用来存储条随机数
[];定义一大小为的物理块数组
*************************************************************
();程序初始化函数
()查找物理块中是否有该页面
()查找是否有空闲物理块
()查找应予置换的页面
()显示
()产生条随机数,显示并存储到[]
()显示调用的页面队列
()算法
()算法
()算法
*************************************************************
()
{
(<)
{
[];
[];
;
}
}
()
{
(;<;)
{
([])
检测到内存中有该页面,返回中的位置
}
;
}
()
{
(;<;)
{
([])
找到空闲的,返回中的位置
}
;
}
()
{
;
(;<;)
{
([]>[])
找到应予置换页面,返回中位置
}
;
}
()
{
(;<;)
{
([])
{(""[]);}
}
<<;
}
()
{;
>>;
<<"******按照要求产生的个随机数:
*******"<<;
(<)
{
[];
();
()()();
()(()(()));
;
(""[]);
(())<<;
}
}
()
{
(<)
{
(""[]);
(())<<;
}
}
()
{
;
;
(<)
{
()();
[];
;
();
()
{
();
()
{
[];
();
;
}
{
(<)
{
(<)
{
([][])
{
[];
}将来不会用,设置为一个很大数
{
[];
;
}
}
}
();
[];
();
;
}
}
}
<<"缺页次数:
"<<<<;
<<"缺页率:
"<<()*<<""<<;
}
()
{
;
;
(<)
{
()();
[];
;
();
()
{
();
()
{
[];
();
;
}
{
();
[];
();
;
}
}
[]恢复存在的并刚访问过的中页面为
(;<;)
{[];}
}
<<"缺页次数:
"<<<<;
<<"缺页率:
"<<()*<<""<<;
}
()
{
;
;
(<)
{
()();
[];
;
();
()
{
();
()
{
[];
();
;
}
{
();
[];
();
;
[];
}
}
(;<;)
[];
}
<<"缺页次数:
"<<<<;
<<"缺页率:
"<<()*<<""<<;
}
*************************************************************
()
{
;
<<"请输入第一条指令号():
";
();
<<"*****对应的调用页面队列*******"<<;
();
{
<<"****************************************"<<;
<<":
退出"<<;
<<"****************************************"<<;
<<"请选择一种页面置换算法:
";
>>;
<<"****************************************"<<;
();
()
{
<<"最佳置换算法:
"<<;
<<"*****************"<<;
();
;
<<"最近最久未使用置换算法:
"<<;
<<"**************************"<<;
();
;
<<"先进先出置换算法:
"<<;
<<"*********************"<<;
();
;
:
;
}
}();
}
实验结果:
实验四
用户登录
(*,*)
{
;
(;<;)
{
((([]))(([])))
;
}
;
}
创建文件
()
{
("");
>>>;
>>>;
(>)
{
>;
>;
>;
>>;
<<"文件建立成功!
"<<;
}
{
>;
(>)
{
>;
((>>)>)
{
("对不起,文件已存在!
");
;
}
}
>;
>;
>;
>;
>;
<<"文件建立成功!
"<<;
}
;
}
()
{
;
;
;
()
{<<"\<>"<<".."<<;}
(>)
{
<<":
"<<""<<<<""<<<<;
;
}
>;
()
{
(>)
{<<"<>\"<<><<;}
{<<"<>"<<><<;}
>;
}
<<":
"<<""<<<<""<<<<;
}
读取文件
()
{
[];
>>;
(>)
{
<<"文件不存在!
"<<;
;
}
((>>))
{
<<>><<;
;
}
{
>;
(>)
{
((>>))
{<<>><<;
;}
}
<<"文件不存在!
"<<;
}
}
写入文件
()
{
[];
>>;
(>)
{
<<"文件不存在!
"<<;
;
}
((>>))
{
>>设置文件标记为打开
>>>>;
>>设置文件标记为关闭
<<"文件写入成功!
"<<;
;
}
{
>;
(>)
{
((>>))
{
>>设置文件标记为打开
>>>>;
>>设置文件标记为关闭
<<"文件写入成功!
"<<;
;}
}
<<"文件不存在!
"<<;
}
}
删除
del()
{
[];
>>;
;
(>)
{
>;
(>((>)>))
>;
((>))
{
<<"不存在该文件!
"<<;
;
}
}
{
<<"不存在该文件!
"<<;
;
}
(>)
{
>>>;
(>)
>>>;
>>;
}
{
(>)
>>>;
>>>;
}
;
<<"文件已删除!
"<<;
}
建立目录
()
{
("");
>>>;
(>)
{
>;
>;
>;
>>;
}
{
>;
(>)
{
>;
((>>)>)
{
("对不起,目录已存在!
");
;
}
}
>;
>;
>;
>;
>;
}
;
}
切换目录
()
{
;
;
;
()
{<<"\<>"<<".."<<;}
(>)
{
<<":
"<<""<<<<""<<<<;
;
}
>;
()
{
(>)
{<<"<>\"<<><<;}
{<<"<>"<<><<;}
>;
}
<<":
"<<""<<<<""<<<<;
}
四、实验小结(包括问题和解决方法、心得体会、意见与建议等)
通过课程设计,加深了对操作系统的认识,了解了操作系统中各种资源分配算法的实现,特别是对虚拟存储,页面置换有了深入的了解,并能够用高级语言进行模拟演示。
在这短短的两周时间里,通过浏览、阅读有关的资料,学到了很多东西,同时也发现仅仅书本的知识是远远不够的,需要把知识运用到实践中去,能力才能得到提高。
两种页面置换算法和理解起来相当容易,但在实际编程实现的时候需要注意各种细节,需要耐心细致,实际编程中遇到一些细节上的小问题确实需要仔细考虑才行。
思考题:
.如果增加分配给作业的内存块数,则将会对作业运行过程中的缺页率产生什么影响?
答:
算法将降低缺页率;算法将降低缺页率;算法将提高缺页率.为什么一般情况下,具有比更好的性能?
答:
置换算法设计简单,容易理解。
但它的效率并不是总能达到令人满意的效果。
这个算法只有在顺序访问地址空间时才能达到理想效果,但根据程序的局部性原理,那些常被访问的页面往往要在主存中停留的最久,算法却将会将其换出页面,留下的只是一些新调入的的指令,这将导致内存频繁换页。
则选择在最近一段时间里最近没有使用过的页面予以置换,是与每个页面最后使用的时间又关的。
当必须置换一个页面时,选择过去一段时间里最久未被使用的页面。
这种算法以最近的过去作为最近的将来的近似,较好地利用了程序的局部性原理。
一般情况下,能取得较好的效果,是经常采用的页面置换算法。
五、指导教师评语
成绩
批阅人
日期
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 南京邮电大学实验报告模版 南京 邮电大学 实验 报告 模版