- 1、本文档共47页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
北 华 航 天 工 业 学 院
《操作系统。
第一章 绪论 1
1.1 课程设计的背景和意义 1
1.1.1 课程设计的理论研究基础 1
1.1.2 课程设计的意义 1
1.2 课程设计环境 2
第二章 需求分析 3
2.1 功能要求 3
2.1.1 进程调度算法 3
2.1.2银行家算法 3
2.1.3 虚拟内存中的页面置换 3
2.1.4 磁盘调度算法 3
2.2 问题的解决方案 4
2.2.1 进程调度算法 4
2.2.2银行家算法 4
2.2.3 虚拟内存中的页面置换 4
2.2.4 磁盘调度算法 5
第三章 系统设计 6
3.1 数据设计 6
3.1.1 结构体设计 6
3.1.2 函数设计 6
第四章 系统实现 9
4.1 结构体实现 9
4.1.1 进程调度算法 9
4.2 函数实现 9
4.2.1进程调度算法 9
4.2.2银行家算法 12
4.2.3虚拟内存中的页面置换算法 13
4.2.4磁盘调度算法 17
4.3 主函数实现 19
4.3.1 进程调度算法的运行界面 19
4.3.2 银行家算法的运行界面 19
4.3.3 虚拟内存中的页面置换的运行界面 20
4.3.4磁盘调度算法的运行界面 21
4.4 系统界面 21
4.4.1 进程调度算法的运行界面 21
4.4.2 银行家算法的运行界面 22
4.4.3 虚拟内存中的页面置换算法的运行界面 22
4.4.4 磁盘调度算法的运行界面 22
第五章 系统测试 23
5.1 模块测试 23
5.1.1 进程调度算法的模块测试 23
5.1.2 银行家算法的模块测试 23
5.1.3虚拟内存中的页面置换算法的模块测试 24
5.1.4 磁盘调度算法的模块测试 25
5.2 课程设计过程中遇到的问题 26
总 结 27
致 谢 28
参考文献 29
附 录 30
第一章 绪论
随着科学技术的发展,计算机在人们的生活领域中占据了重要的地位。Microsoft Visual Studio 2010 Windows 7
硬件环境:Lenovo CPU T6600
第二章 需求分析
2.1 功能要求
2.1.1 进程调度算法
编程实现进程调度算法的基本过程,设计要求:
(1)能够选择进程调度算法(先来先服务、短进程优先算法和高响应比优先算法)。
(2)可以输入进程数目(至少4个进程),以及各进程的提交时间和运行时间。
(3)能够显示调度过程及平均周转时间和平均带权周转时间。
2.1.2银行家算法
编写一程序,能够模拟银行家算法和安全算法来避免死锁。假设系统资源有A、B、C三种,可以运行5个进程。该程序具备的基本功能为:
1、程序可以输入3种资源的数目,5个进程对3种资源的最大需求量、已分配量和需求量。
2、能够判断某一时刻系统是否处于安全状态,如果处于安全状态能够给出安全序列。
3、当某进程提出资源申请时,能够判断是否能把资源分配给申请进程。
2.1.3 虚拟内存中的页面置换
编程实现虚拟内存中的页面置换的基本过程,设计要求:
(1)能够输入进程的页面访问序列和分配的内存块数。
(2)可以选择页面置换算法(先进先出算法、最近最久未使用算法和最佳置换算法)。
(3)能够以下图形式显示页面置换过程。
2.1.4 磁盘调度算法
编程序实现下述磁盘调度算法,并求出每种算法的平均寻道长度。设计要求:
(1)能够输入程序要访问的磁道序列和磁头当前所在的磁道数。
(2)可以选择某磁盘调度算法(先来先服务算法、最短寻道时间优先算法、扫描算法和循环扫描算法)。
(3)能够以下图形式显示磁盘调度顺序和平均寻道长度。
2.2 问题的解决方案
2.2.1 进程调度算法
先来先服务算法,按照进程的提交时刻对进程进行执行,当执行下一个进程的时候,注意比较这个进程提交与上个进程的完成时刻,若上一个进程的完成时刻比此进程的提交时刻晚,那么此进程的开始时刻就是上一个进程的完成时刻。
短进程优先算法,首先确定第一个进程的完成时刻,然后找出提交时刻比第一个进程完成时刻早的进程,从它们中挑出一个运行时间最小的进程开始执行,如此循环即可。
高响应比优先算法,首先确定第一个进程的完成时刻,然后找出提交时刻比第一个进程完成时刻早的进程,然后分别计算它们优先权,从它们中挑出一个优先权最高的进程开始执行开始执行,如此循环即可。
2.2.2银行家算法
首先对系统中三种资源的数目进行控制,然后输入五个进程需要的资源数目和系统已经分配给的各类资源数目。然后求出系统中还可以利用的资源,利用安全算法计算是否可以把这五个进程执行完成,若存在这五个进程执行的一个序列,说明系统处于安全状态,不会发生死锁,反正不安全。在银行家算法中,当有的进程在申请资源时,系统假设把资源分配给此进程,然后调用安全算
文档评论(0)