计算机操作系统进程调度实验报告.pdfVIP

计算机操作系统进程调度实验报告.pdf

  1. 1、本文档共6页,可阅读全部内容。
  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文档。上传文档
查看更多

计算机操作系统进程调度实验报告--第1页

操作系统实验题:设计一若干并发进程的进程调度程序

一、实验目的

无论是批处理系统、分时系统还是实时系统,用户进程数一般都大于处理机数,这

将导致用户进程互相争夺处理机;这就要求进程调度程序按一定的策略,动态地把处

理及分配给处于就绪队列中的某一进程,以使之执行;进程调度是处理机管理的核心

内容;本实验要求采用最高优先数优先的调度算法即把处理机分配给优先数最高的进

程和先来先服务算法编写和调试一个简单的进程调度程序;通过本实验可以加深理解

有关进程控制块、进程队列的概念;并体会了优先数和先来先服务调度算法的具体实

施办法;

二、实验要求

用高级语言编写和调试一个进程调度程序,以加深对进程的概念及进程调度算法

的理解.

三、实验内容

进程调度算法:采用最高优先数优先的调度算法即把处理机分配给优先数最高的

进程和先来先服务算法将用户作业和就绪进程按提交顺序或变为就绪状态的先后排

成队列,并按照先来先服务的方式进行调度处理;

每个进程有一个进程控制块PCB表示;进程控制块可以包含如下信息:进程名、

优先数、到达时间、需要运行时间、已用CPU时间、进程状态等等;

进程的优先数及需要的运行时间可以事先人为地指定也可以由随机数产生;进程

的到达时间为进程输入的时间;

进程的运行时间以时间片为单位进行计算;

每个进程的状态可以是就绪WWait、运行RRun、或完成FFinish三种状态之一;

就绪进程获得CPU后都只能运行一个时间片;用已占用CPU时间加1来表示;

如果运行一个时间片后,进程的已占用CPU时间已达到所需要的运行时间,则撤

消该进程,如果运行一个时间片后进程的已占用CPU时间还未达所需要的运行时间,也

就是进程还需要继续运行,此时应将进程的优先数减1即降低一级,然后把它插入就绪

队列等待CPU;

每进行一次调度程序都打印一次运行进程、就绪队列、以及各个进程的PCB,以

便进行检查;重复以上过程,直到所要进程都完成为止;

计算机操作系统进程调度实验报告--第1页

计算机操作系统进程调度实验报告--第2页

四、实验算法流程

调度算法的流程图如下:

五、实验程序清单

include

include

definegetpchtypetypemallocsizeoftype

defineNULL0

structpcb{/定义进程控制块PCB/

charname10;

charstate;

intsuper;

intntime;

intrtime;

structpcblink;

}ready=NULL,p;

typedefstructpcbPCB;

charsort/建立对进程进行优先级排列函数/

{

PCBfirst,second;

intinsert=0;

ifready==NULL||p-superready-super/优先级最大者,插入队首/

{

p-link=ready;

ready=p;

}

else/进程比较优先级,插入适当的位置中/

{

first=ready;

second=first-link;

whilesecond=NULL

{

ifp-supersecond-super/若插入进程比当前进程优先数大,/

{/插入到当前进程前面/

p-link=second;

first-link=p;

second=NULL;

insert=1;

}

else/插入进程优先数最低,则插入到队尾/

{

first=first-link;

计算机

文档评论(0)

185****3215 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档