OS实验报告示例.docVIP

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
OS实验报告示例

肇庆学院计算机科学与软件学院 《计算机操作系统》课程实验报告 姓名: 学号: 班级: 完成日期: 年 月 日 实验题目 单处理机系统的进程调度分析、设计与实现 实验形式 小组合作 □ 独立完成 □ 设计目的 (1)加深对进程概念的理解,明确进程和程序的区别。 (2)深入了解系统如何组织进程,创建进程。 (3)进一步认识如何实现处理机调度。 设计预备知识 (1)进程的概念。 (2)进程的组织方式。 (3)进程的创建。 (4)进程的调度。 设计内容 编写程序完成单处理机系统中的进程调度,要求采用时间片轮转调度算法,设计具体包括: ①确定进程控制块的内容和组织方式; ②完成进程创建原语和进程调度原语; ③编写程序及对所做工作进行测试。 一、设计理论描述 进程是进程实体的运行过程,是系统进行资源分配和调度的一个独立单位。另有一种定义方法是“程序在处理器上的执行”。为了模拟的方便,本设计采用这种定义。 简单地说,进程包括三种状态:运行状态(Running)、就绪状态(Ready)、等待状态或阻塞状态(Blocked);状态变换图如图1所示。严格地说,进程除了上面的三个状态,还有挂起就绪(Readya)和挂起等待(Blocked)等状态。 图1 进程状态变换图 通常操作系统用一个称为进程控制块(PCB)的数据结构来记录进程的属性信息。PCB一般应包含以下信息:进程标识信息(本进程的标志ID、父进程的标志ID、用户标识);处理机状态信息(用户使用的寄存器、控制和状态寄存器、堆栈指针);进程调度和控制信息(进程的状态、进程的调度优先级、程序和数据的地址、进程同步和通信机制、进程已等待时间、已使用的处理器时间、进程在有关队列中的链接指针、分给进程的主存大小和位置、进程使用的其他资源信息、进程得到有关服务的优先级、进程调度所需的其他信息)。 进程调度算法:(1)先进先出调度算法(FIFO):按照进程的到达顺序调度进程,属于不可抢占策略。(2)优先级调度算法:按照进程的优先级大小来调度,是高优先级进程得到优先的处理的调度策略,可使用非抢占或可抢占两种策略。(3)时间片轮转算法:按照FIFO原则进行调度,每个进程轮流执行一个有限的时间片。(4)最短进程优先级调度算法:主要是从就绪队列中挑选那些所需的运行时间(估计时间)最短的运行,是一个非抢占策略。另外还有最短剩余时间优先级调度算法、最高响应比优先调度算法、多级反馈队列调度算法等。 二、设计思想、设计分析及数据结构模型 这个设计需要考虑三个问题:如何组织进程、如何创建进程和如何实现处理机调度。 考虑如何组织进程,首先就要设置进程控制块的内容。进程控制块PCB记录各个进程执行时的情况。不同的操作系统,进程控制块记录的信息内容不一样。操作系统功能越强,软件也越庞大,进程控制块记录的内容也就越多。这里的设计只使用了必不可少的信息。一般操作系统中,无论进程控制块中信息量多少,信息都可以大致分为以下四类: (1)标识信息 每个进程都要有一个唯一的标识符,用来标识进程的存在和区别于其他进程。这个标识符是必不可少的,可以用符号或编号实现,它必须是操作系统分配的。在后面给出的参考程序中,采用编号方式,也就是为每个进程依次分配一个不相同的正整数。 (2)说明信息 用于记录进程的基本情况,例如,进程的状态、等待原因、进程程序存放位置、进程数据存放位置等。设计中,因为进程没有数据和程序,仅使用进程控制块模拟进程,所以这部分内容仅包括进程状态。 (3)现场信息 现场信息记录各个寄存器的内容。当进程由于某种原因让出处理机时,需要将现场信息记录在进程控制块中,当进行进程调度时,从选中进程的进程控制块中读取现场信息进行现场恢复。现场信息就是处理机的相关寄存器内容,包括通用寄存器、程序计数器和程序状态字寄存器等。在设计中,可选取几个寄存器作为代表。用大写的全局变了量AX、BX、CX、DX模拟通用寄存器,大写的全局变量PC模拟程序计数器,大写的全局变量PSW模拟程序状态字寄存器。 (4)管理信息 管理信息记录进程管理和调度的信息。例如进程优先数和进程队列指针等。设计中,仅包括队列指针。 因此可将进程控制块结构定义如下: Struct pcb {int name; //进程标识符 int status; //进程状态 int ax,bx,cx,dx; //进程现场信息,通用寄存器内容 int pc; //进程现场信息,程序计数器内容 int psw; //进程现场信息,程序转台字寄存器内容 int next; //下一个进程控制块的位置 } 确定进程控制块内容后,要考虑的就是如何将进程控制块组织在一起。多道程序设计系统,往往同时创建多个进程

文档评论(0)

asd522513656 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档