- 1、本文档共26页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
操作系统pzm
实 验 报 告
实验课程: 操作系统
学生姓名: 刘璐
学 号: 6100408116
专业班级: 电气Ⅲ083班
09年 12 月 21日
目录
南昌大学实验报告 2
(1)编程实现银行家安全算法 2
南昌大学实验报告 13
(2)存储管理的模拟实现 13
南昌大学实验报告 19
(3)磁盘调度算法的模拟实现 19
南昌大学实验报告
(1)编程实现银行家安全算法
学生姓名: 刘璐 学 号: 6100408116 专业班级: 电气Ⅲ类083班
实验类型:□ 验证 □ 综合 ■ 设计 □ 创新 实验日期: 11.5,11.12 实验成绩:
一、实验目的
通过实验加强对银行家安全算法的理解和掌握。
二、实验内容
熟悉避免死锁发生的方法,死锁与安全序列的关系,编程实现银行家算法,要求输出进程的安全序列。
三、实验要求
1、需写出设计说明;
2、设计实现代码及说明
3、运行结果;
四、主要实验步骤
设计说明
数据结构
1.可利用资源向量Available2.最大需求矩阵Max3.分配矩阵Allocation4.需求矩阵Need
银行家算法
1.如果Request=Need,则转向2;否则,出错2.如果Request=Available,则转向3,否则等待3.系统试探分配请求的资源给进程4.系统执行安全性算法
安全性算法
1.设置两个向量(1).工作向量:Work=Available(表示系统可提供给进程继续运行所需要的各类资源数目)(2).Finish:表示系统是否有足够资源分配给进程(True:有;False:没有).初始化为False2.若Finish[i]=FalseNeed=Work,则执行3;否则执行4(I为资源类别)3.进程P获得第i类资源,则顺利执行直至完成!并释放资源:Work=Work+Allocation;Finish[i]=true;转24. 若所有进程的Finish[i]=true,则表示系统安全;否则,不安全!
六、实验体会或对改进实验的建议
程序基本实现了银行家算法的功能,并在其基础上考虑了输出显示的格式的美观性、输入错误要求重新输入等几个方面,尽可能的使程序完整一些。
这段程序算是三个试验中最困难最复杂的一个,由于能力有限,所以在紧张的的编写和调试过程中遇到了许多的问题,通过查询资料、翻阅课本、向同学请教、多次调试等方法逐渐解决了大部分问题,编写的过程中也有比较一些算法的优劣性,找出比较好的算法,收获非常大。
参考资料
《计算机操作系统》
南昌大学实验报告
(2)存储管理的模拟实现
学生姓名: 刘璐 学 号: 6100408116 专业班级: 电气Ⅲ类083班
实验类型:□ 验证 □ 综合 ■ 设计 □ 创新 实验日期: 11.19,11.26,12.3实验成绩:
一、实验目的
存储管理的主要功能之一是合理地分配空间。请求页式管理是一种常用的虚拟存储管理技术。本实验的目的是通过请求页式存储管理中页面置换算法模拟设计,了解虚拟存储技术的特点,掌握请求页式管理的页面置换算法。
二、实验内容
编程实现页面置换算法,要求输出页面的置换过程,具体可以编程实现OPT、FIFO和LRU算法。
三、实验要求
1、需写出设计说明;
2、设计实现代码及说明
3、运行结果;
四、主要实验步骤
设计说明
(1)为了装入一个页面而必须调出一页时,如果被选中调出的页面在执行中没有修改过,则不必把该页写到磁盘上。因此,在页表中可以增加是否修改过的标志,当执行“存”指令 “写”指令是把对应页的修改标志置“1”表示该页修改过,为“0”表示该页没有修改过。
(2)设计一个地址转换程序来模拟硬件的地址转换和缺页中断。当访问的页在主存时则形成绝对地址,但不去模拟指令的执行,可用输出转换后的绝对地址来表示一条指令已完成。当访问的页不在主存时则输出“*该页页号”来表示硬件产生了一次缺页中断。调用模拟地址转换程序。
(3)编制一个FIFO页面调试程序。FIFO页面调试算法总是先调出作业中最先进入主存的那一页,因此,可以用一个数组来构成页号队列。数组中每个元素是该作业已在主存的页面好,假定分配给作业的主存块数为m,且该作业开始的m页已装入主存,则数组可有m个元素组成:P[0
文档评论(0)