操作系统实验2.docx

  1. 1、本文档共16页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
《操作系统》实验报告 实验编号 实验2 实验题目 操作系统 专业班级 实验日期 2014-04-03 实验成绩 学生学号 学生姓名 指导老师 实验目的: 1、加深对进程概念及进程管理各个部分内容的理解;2、熟悉进程管理中主要数据结构的设计及进程调度算法,进程控制机构,同步机构,通信机构的实施。 二 实验内容 要求设置PCB,进程控制原语,进程调度算法,能描述进程调度中不同进程状态之间的转换,设计一个允许n个进程并发运行的进程管理模拟系统。该系统包括有简单的进程控制,同步及通信机构,其进程调度算法可任意选择。每个进程用一个PCB表示,其内容可根据具体情况设置。各进程之间应有一定的同步关系。系统在运行过程中能显示或打印各进程的状态及有关参数的变化情况,以便观察诸进程的运行过程及系统的管理过程。 三 实验要求 实验报告要求1、写出进程管理的思想。2、画出算法流程图和设置的数据结构。3、写出调试程序出现的问题及解决的方法。4、打印实验报告及程序清单。5、报告给出测试的结果。四 实验环境: Windows8.0 开发语言c++ 五 实验前的准备 阅读教材,了解有关PCB的知识。进程控制块的作用是使一个在多道程序环境下不能独立运行的程序(含数据),成为一个能独立运行的基本单位,一个能与其它进程并发执行的进程。或者说,OS是根据PCB来对并发执行的进程进行控制和管理的。 PCB通常是系统内存占用区中的一个连续存区,它存放着操作系统用于描述进程情况及控制进程运行所需的全部信息,它使一个在多道程序环境下不能独立运行的程序成为一个能独立运行的基本单位,一个能与其他进程并发执行的进程。 上网查阅相关程序,学习与PCB相关知识与应用。 六 实验原理及设计方案 1、实验原理; 假设系统有 5 个进程,每个进程用一个进程控制块 PCB 来代表。 为每个进程任意确定一个要求运行时间和到达时间。 按照进程到达的先后顺序排成一个循环队列。再设一个队首指针指向第一个到达进程的首址。 执行处理机调度时,开始选择队首的第一个进程运行。另外,再设一个当前运行进程的指针,指向当前正在运行的进程。 进程运行一次后,估计运行时间减一,输出当前运行进程的名字 进程运行一次后,以后的调度则将当前指针依此下移一个位置,指向下一个进程,即调整当前运行指针指向该进程的链接指针所指进程,以指示应运行进程。同时还应判断该进程的剩余运行时间是否为零。若不为零,则等待下一轮的运行,若该进程的剩余运行时间为零,则将该进程的状态置为完成态 C,并退出循环队列。 若就绪队列不空,则重复上述的(5)和(6)步骤直到所有的进程都运行完为止。在所设计的调度程序中,应包含显示或打印语句。显示或打印每次选中的进程的名称及运行一次后队列的变化情况。 2、设计方案 (1)设计一个有 N 个进程共行的进程调度程序。每个进程由一个进程控制块 PCB 表示。进程控制块包括以下信息:进程名,进程优先数,进程需要运行的时间,占用 CPU的时间以及进程的状态等。 (2)本调度程序用时间片轮转算法。 (3)编写程序并调试运行。 3、程序流程图 开始 开始 开始 初始化pcb,输入进程信息 初始化pcb,输入进程信息 各进程按先来先服排列 各进程按先来先服排列 就绪队列空?Y 就绪队列空? Y 结束 结束 N就绪队列首进程投入运行 N 就绪队列首进程投入运行 时间片到,运行进程已占用cpu时间+1 时间片到,运行进程已占用cpu时间+1 已到达 已到达 进程完成撤销该进程运行进程已占用cpu时间已达到所需运行时间 进程完成撤销该进程 运行进程已占用cpu时间已达到所需运行时间 未到达 未到达 使运行进程的优先数减1,把运行进程插入就绪队列 使运行进程的优先数减1,把运行进程插入就绪队列 七 出现的的问题及解决方案 在实验一开始,对算法的理解不是很清楚,后来通过上网查阅,稍微有所了解,不那么一无所知。 八 实验小结 通过这次实验,首先加深了我对进程调度方法和功能的认识,其次让我更加深刻地理解了操作系统中进程调度中优先级调度的基本原理。优先级调度算法只是进程调度算法的一种,我们还应依照书本去学习进程调度的其它算法,以便更好地了解进程调度。 九 程序代码 #include stdio.h

文档评论(0)

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

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

1亿VIP精品文档

相关文档