2、实验原理
磁盘可供多个进程共享,当有多个进程要求访问磁盘时,应采用一种调度算法,以使进程对磁盘的平均访问时间最小,由于在访问磁盘的时间中,主要是寻道时间,因此磁盘调度的目标就是使磁盘的平均寻道时间最短。
选题七:动态资源分配算法演示程序
1、设计目的:主要用于解决多种资源被多个独立执行的进程使用的安全算法。该算法采用矩阵存储资源的数据,通过对系统资源预分配后检查系统状态,以避免死锁的产生。 2、设计要求:
1) 资源种类与数目可在界面进行设置,在资源分配过程中可以随时增加进程及其对资
源的需求
2) 可读取样例数据(要求存放在外部文件中)进行资源种类、数目与进程数的初始化 3) 在资源分配过程中可以随时进行系统安全状态检测
4) 如果能够通过系统安全状态检测,则系统对该进程进行资源分配;当进程满足所有
资源分配后能够自行释放所有资源,退出资源竞争 5) 要求进行安全性检查时按指定策略顺序进行,即按每个进程当前Need数由小至大进
行排序,如果Need数相同,则按序号由小至大进行排序; 6) 具有一定的数据容错性
选题八:通用处理机调度演示程序
1、设计目的:在多道程序和多任务系统中,系统内同时处于就绪状态的进程可能有若干个,也就是能运行的进程数大于处理机个数,为了使系统中的进程有条不紊地工作,必须选用某种调度策略,在一定的时机选择一个进程占有处理机。要求学生设计一个模拟处理机调度算法,以巩固和加深处理机调度的概念。 2、设计要求(多道、单处理机):
1) 进程调度算法包括:时间片轮转算法、先来先服务算法、短作业优先算法、静态优
先权优先调度算法、高响应比调度算法
2) 每一个进程有一个PCB,其内容可以根据具体情况设定。
3) 进程数、进入内存时间、要求服务时间、作业大小、优先级等均可以在界面上设定 4) 可读取样例数据(要求存放在外部文件中)进行进程数、进入内存时间、时间片长
度、作业大小、进程优先级的初始化
5) 可以在运行中显示各进程的状态:就绪、执行(由于不要求设置互斥资源与进程间
的同步关系,故只有两种状态)
6) 采用可视化界面,可在进程调度过程中随时暂停调度,查看当前进程的状态以及相
应的阻塞队列
7) 有性能比较功能,可比较同一组数据在不同调度算法下的平均周转时间 8) 具有一定的数据容错性
课题九、银行家算法
银行家算法的思路:
1.进程一开始向系统提出最大需求量.
2.进程每次提出新的需求(分期贷款)都统计是否超出它事先提出的最大需求量.
3.若正常,则判断该进程所需剩余量(包括本次申请)是否超出系统所掌握的 剩余资源量,若不超出,则分配,否则等待. 4.银行家算法的数据结构.
1)系统剩余资源量V[n],其中V[n]表示第I类资源剩余量.
2)已分配资源量A[m][n],其中A[j][i]表示系统j程已得到的第i资源的数量. 3)剩余需求量.C[m][n],其中C[j][i]对第i资源尚需的数目.
5.银行家算法流程:当某时刻,某进程时,提出新的资源申请,系统作以下操作: 1)判定E[n]是否大于C[j][n],若大于,表示出错.
2)判定E[n]是否大于系统剩余量V[n],若大于,则该进程等待. 3)若以上两步没有问题,尝试分配,即各变量作调整.
4)按照安全性推测算法,判断,分配过后,系统是否安全,若安全,则实际分配,否则,撤消分配,让进程等待.
6.\安全性检测\算法
对进程逐个扫描,先判断flag,看进程是否完成,如果完成则继续扫描,如果没有再判断当前系统是否满足进程所需要的分配额,如果满足则分配并当进程完成后回收资源,如果没有则扫描下一个进程。扫描所有进程,如果所有的进程都能完成就表明是安全分配序列,如果没有,则分配不成功,不存在着安全序列。
课题十、处理机调度算法的实现
设计目的:在多道程序和多任务系统中,系统内同时处于就绪状态的进程可能有若干个。也就是说能运行的进程数大于处理机个数。为了使系统中的进程能有条不紊地工作,必须选用某种调度策略,选择一进程占用处理机。要求学生设计一个模拟处理机调度算法,以巩固和加深处理机调度的概念。
设计要求:
1)先由用户输入进程数量(至少5个进程),再由系统随机生成一个进程序列(包括到达时间和服务时间)。
2)然后显示进程调度算法由用户选择,包括:时间片轮转法,短作业优先算法,动态优先级算法。
3)显示结果包括每个进程的开始时间、完成时间、周转时间以及带权周转时间,显示界面可参考书本的例子以表格形式但可不要表格线。
选题十一:交通信号灯模拟
1、 目的:了解信号量机制,了解并掌握进程同步和互斥机制,熟悉信号量的操作函数,利
用信号量实现对共享资源的控制。 2、 设计要求:编程模拟交通信号灯的控制。
1) 问题描述:一个十字路口,共有四组红绿灯,每个路口的车辆都遵循“红灯停,绿
灯行”的原则,假设将每一台汽车都作为一个进程,请设计良好的机制,展示出合理的“十字路口交通管理”情况。
2) 车辆通行设定:路口宽度不限,对一个路口而言,只有当一辆车通过路口(越过对
面路口的交通灯后),其后续车辆才能继续通过交通灯,车辆通过路口的时间可以固
定,可以自行计算。
3) 进程的互斥:交通灯进程实际上是互斥的,即不能同时为红或者同时为绿。 4) 进程的消息通信或其通信方式:对车辆进程而言,每一个车辆在通过路口前,必须
确认前面的车辆已经通过了路口。
5) 进程的调度:停留在一个路口的车辆,决定其前进或等候的因素是交通灯和前面车
辆的状态,需要设计一个良好的进程调度机制来控制所有车辆的通行。
说明:
? 可以根据题目的基本要求进行丰富的创意和想象。
? 没有特别指定,可以采用Windows环境也可采用Linux环境,选用Windows环境的必须为图形界面,Linux环境的可以采用文本界面。
? 开发语言不限,但软件代码必需有详细中文注释:每个方法要功能说明,关键算法要加注释说明。
六、课程设计考核方式
最后一次课程设计时间检查验收,主要检查程序能否运行,要求的功能是否全部实现。 课程设计成绩评定的依据有设计文档资料、具体实现设计方案的程序及课程设计考勤登记表,其中平时成绩占总成绩的20%。
优:有完整的符合标准的文档,文档有条理、文笔通顺,格式正确,其中有总体设计思想的论述;程序完全实现设计方案,设计方案先进,软件可靠性好;
良:有完整的符合标准的文档,文档有条理、文笔通顺,格式正确;有完全实现设计方案的软件,设计方案较先进;
中:有完整的符合标准的文档,有基本实现设计方案的软件,设计方案正确; 及格:有完整的符合标准的文档,有基本实现设计方案的软件,设计方案基本正确; 不及格:没有完整的符合标准的文档,软件没有基本实现设计方案,设计方案不正确。 提交的电子文档和软件必须是由学生自己独立完成,发现相同题目文档雷同者,教师有权视其情况扣分或记零分。
七、提交的资料
1、文档:课程设计报告以A4纸打印(届时老师提供书写格式模板)装订并上交,同时提交电子文档。
课程设计报告主要内容
(1)概述:设计主要完成的任务和解决的主要问题; (2)设计原理:题目中涉及的概念及原理;
(3)详细设计及编码:算法流程图、编码及程序注释等; (4)结果及分析;
(5)设计小结:本设计的特色、经验、教训和感受等;
(6)参考文献。
2、软件:软件需提供加注释的源程序,并能正常运行。
附表A:课程设计分组 12102班 学 号 姓 名 200917030101 200917030102 200917030103 200917030104 200917030105 200917030106 200917030107 200917030108 200917030109 200917030110 200917030111 200917030112 200917030113 200917030114 200917030115 200917030116 200917030117 200917030118 200917030119 200917030120 200917030121 200917030122 200917030123 200917030124 200917030125
题目 1 2 3 4 2 2
操作系统课程设计-任务书



