操作系统实验讲义.doc

  1. 1、本文档共9页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
操作系统实验讲义

《操作系统》实验讲义 第一章 实验目的与要求 1.1 实验目的 操作系统课程是计算机类相关专业的一门必修的专业基础课,该课程以经典操作系统基本原理和概念为框架,详细介绍了操作系统对计算机系统软、硬件进行管理的理论和技术,是一门理论性较强的课程。 操作系统实验是帮助学生理解操作系统理论,模拟实现操作系统部分管理功能的重要的实践性教学环节,是培养学生分析问题和解决问题能力的有效手段。通过实验,加深学生对讲授的相关理论知识的理解,使学生能够将理论与实践相结合。 1.2 实验要求 在上机实验前要求学生应事先做好准备工作,以提高上机实验的效率。准备工作至少应包括: (1)熟练掌握一种高级程序设计语言及上机调试程序的方法; (2)复习并掌握与实验相关的教学内容; (3)准备好上机所需的程序,手编程序应书写整齐,并经人工检查无误后才能上机,以提高上机效率; (4)对运行程序中可能出现的问题应事先做出估计,对程序中自己有疑问的地方,应作上记号,以便在上机时给予注意; (5)准备好调试和运行程序的数据; 实验结束后写出实验报告,实验报告内容包括:实验题目、实验目的、实验内容、实验要求及源程序、实验结果、实验体会。 第二章 实验内容 2.1 实验1 模拟处理器调度 处理器调度算法 处理器调度算法有7种,本实验要求使用先进先出(FIFO)调度算法或最短作业优先(SJF)调度算法模拟实现操作系统对处理器调度的方法。 FIFO调度算法是按照作业到达系统或进程进入就绪队列的先后次序来调度作业或进程占有处理器,一旦一个作业或进程占有处理器,它就一直运行下去,直到该作业或进程完成了其工作或因等待某事件的发生而不能继续运行才释放处理器。 最短作业优先调度算法是从磁盘输入井或就绪队列中挑选所需的运行时间最短的作业或进程占有处理器。该算法具有不可抢占性。 例2-4 设有4道作业,它们的提交时间及执行时间如表2-5所示。 要求在单道程序环境下,分别写出采用先进先出调度算法和最短作业优先调度算法时的作业调度顺序。 表2-5 作业号 提交时间 执行时间 1 10.0 2.0 2 10.2 1.0 3 10.4 0.5 4 10.5 0.3 解:(1)采用先进先出调度算法,作业的调度顺序是:1、2、3、4。 (2)采用最短作业优先调度算法,作业的调度顺序是:1、4、3、2。 2.实验目的 通过本实验模拟实现操作系统对处理器调度方法。 3.实验内容 使用高级程序设计语言,编写实现处理器调度的程序。 4.实验要求 仿照例2-4输入不少于5个作业的作业号、提交时间和执行时间,按照先进先出调度算法或最短作业优先调度算法编写程序,输出调度作业序列。 5.实验学时 6学时 2.2 实验2 死锁的避免——银行家算法 1.银行家算法 操作系统在若干个并行进程间分配数量一定的共享资源,既要使每个进程均能满足其对资源的要求,使之完成其运行任务,同时又要使整个系统不会产生死锁所采用的方法,即银行家算法。银行家算法是解决资源共享问题的一种算法,是研究如何将有限的资源合理分配给多个进程使用,同时系统又不会发生死锁问题的一种算法。 银行家算法分为单资源银行家算法和多资源银行家算法。 (1)单资源银行家算法 假定系统有某种共享资源,其数量为R,现有三个进程P1、P2、P3同时申请此资源,系统当前可用资源数量为R0,三个进程已分配此种资源的向量为A A1,A2,A3 ,各进程对该资源的请求向量为C C1,C2,C3 。 单资源银行家算法是从系统的当前状态出发,逐个检查各个进程,谁能完成其工作(即请求资源数量不超过当前可用资源的数量),然后假定其完成了工作且归还了全部资源,对该进程进行标记,再进而检查剩余进程谁又能完成工作……如果所有进程均能完成工作,则当前系统状态安全,可以按进程标记的顺序(即安全序列)分配共享资源R,否则当前系统处于不安全状态。 例2-1 用银行家算法判断下述每个状态是否安全,如果安全写出安全序列,如果不安全说明理由。 状态1 进程 已分配资源向量 请求资源向量 P1 2 4 P2 4 3 P3 5 1 P4 0 2 当前共享资源的可分配数量为:1 解:按照单资源银行家算法资源的分配情况如下: 进程 现有资源向量 请求资源向量 P3 1 1 P1 6 4 P2 8 3 P4 12 2 所以状态1是安全的,按照单资源银行家算法资源分配的安全序列为(P3,P1,P2,P4)(注意安全序列不唯一)。 ②状态2 进程 已分配资源向量 请求资源向量 P1 4 4 P2 3 6 P3 5 3 当前共享资源的可分配数量为:2 解:状态2是不安全状态。因为当前共享资源的可分配数量无法满足任何一个进程的请求资源数量,所以,按照单资源银行家算法可以判断

文档评论(0)

kaiss + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档