操作系统实验报告-单处理机系统的进程调度.pdf

操作系统实验报告-单处理机系统的进程调度.pdf

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

操作系统实验报告-单处理机系统的进程调度--第1页

实验二单处理机系统的进程调度

一.实验目的

(1)加深对进程概念的理解,明确进程与程序的区别。

(2)深入了解系统如何组织进程、创建进程。

(3)进一步认识如何实现处理机调度。

二.实验内容

编写程序完成单处理机系统中的进程调度,要求采用时间片轮转调度算法。

三.实验原理

在早期的时间片轮转法中,系统将所有的就绪进程按先来先服务的原则,排成一个

队列,每次调度时,把CPU分配给队首进程,并令其执行一个时间片.时间片的大小从几

ms到几百ms.当执行的时间片用完时,由一个计时器发出时钟中断请求,调度程序便据

此信号来停止该进程的执行,并将它送往就绪队列的末尾;然后,再把处理机分配给就

绪队列中新的队首进程,同时也让它执行一个时间片.这样就可以保证就绪队列中的所

有进程,在一给定的时间内,均能获得一时间片的处理机执行时间.

四.实验部分源程序

#includestdio.h

#includetime.h

#includestdlib.h

/*********************以下是全局数据结构和变量***********************/

/*PCB结构*/

structPCB{

intpname;

intpri;

intruntime;

intwaittime;

structPCB*next;

}pcb[7];

structPCB*running;/*运行指针*/

structPCB*Hready;/*高优先级就绪队列头指针*/

structPCB*Lready;/*低优先级队列头指针*/

structPCB*wait;/*等待队列头指针*/

intA=0;

/**************************以下是函数说明****************************/

voiddelay();/*利用循环实现延迟*/

voidproc(structPCB*running);/*模拟进程3-9*/

voidInsertIntoQueueTail(structPCB**head,structPCB*node);/*将node插入到head所指

示的队列的尾部*/

intproc_switch();/*进程调度函数*/

voidproc_wait();/*进程等待函数*/

intproc_wakeup();/*进程唤醒函数*/

操作系统实验报告-单处理机系统的进程调度--第1页

操作系统实验报告-单处理机系统的进程调度--第2页

/************************以下是函数定义及注释************************/

main()/*主函数*/

{inti;

/*初始化,创建进程3-9,置低优先级,等待时间为0,依次插入低优先级队列*/

for(i=0;i3;i++){

pcb[i].pname=i+3;

pcb[i].pri=0;

pcb[i].waittime=0;

InsertIntoQueueTail(Lready,pcb[i]);

}

wait=NULL;

Hready=NULL;/*

文档评论(0)

192****7877 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档