- 1、本文档共13页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
操作系统实验进程调度程序设计
本科实验报告
课程名称: 操作系统B
实验项目: 进程调度程序设计
实验地点:
专业班级: 学号:
学生姓名:
指导教师:
2011年 11月
PAGE \* MERGEFORMAT11
目录
进程调度程序设计
TOC \o 1-3 \h \z \u HYPERLINK \l _Toc312658682 一、实验目的和要求 PAGEREF _Toc312658682 \h 1
HYPERLINK \l _Toc312658683 二、实验内容及原理 PAGEREF _Toc312658683 \h 1
HYPERLINK \l _Toc312658684 三、实验仪器设备 PAGEREF _Toc312658684 \h 3
HYPERLINK \l _Toc312658685 四、操作方法与实验步骤 PAGEREF _Toc312658685 \h 3
HYPERLINK \l _Toc312658686 五、实验数据记录和处理 PAGEREF _Toc312658686 \h 3
HYPERLINK \l _Toc312658687 六、实验结果与分析 PAGEREF _Toc312658687 \h 10
HYPERLINK \l _Toc312658688 七、实验感想 PAGEREF _Toc312658688 \h 11
实验二 进程调度程序设计
一、实验目的和要求
目的
进程是操作系统最重要的概念之一,进程调度是操作系统的主要内容,本实验要求学生独立地用高级语言编写一个进程调度程序,调度算法可任意选择或自行设计,本实验可使学生加深对进程调度和各种调度算法的理解。
要求
设计一个有几个进程并发执行的进程调度程序,每个进程由一个进程控制块(PCB)表示,进程控制块通常应包括下述信息:进程名,进程优先数,进程需要运行的时间,占用CPU的时间以及进程的状态等,且可按照调度算法的不同而增删。
调度程序应包含2—3种不同的调度算法,运行时可以任选一种,以利于各种方法的分析和比较。
系统应能显示或打印各进程状态和参数的变化情况,便于观察。
二、实验内容及原理
本程序可选用优先数法或简单轮转法对五个进程进行调度。每个进程处于运行R(run)、就绪W(wait)和完成F(finish)三种状态之一,并假定起始状态都是就绪状态W。
为了便于处理,程序中进程的运行时间以时间片为单位计算。各进程的优先数或轮转时间片数、以及进程需要运行的时间片数,均由伪随机数发生器产生。
进程控制块结构如表2-1所示:
表2-1 PCB
进程标识符 链指针 优先数/轮转时间片数 占用CPU时间片数 进程所需时间片数 进程状态
进程控制块链结构如图2-1所示:
RUN HEAD TAIL
1
┇
R
3
┇
W
5
┇
W
W
0
┇
2
…
图2-1 进程控制块链结构
其中:RUN—当前运行进程指针;
HEAD—进程就绪链链首指针;
TAIL—进程就绪链链尾指针。
2. 算法与框图 程序框图如图2-2所示。
priority
是
输入调度算法alog
开始
alog=priority/round robin?
生成并按优先数大小排列进程控制块链
进程时间片数为0?
从链首取一个进程投入运行
生成并按进入次序
排列进程控制块链
链首进程投入运行
时间片到,进程时间片
数减1,优先数减3
运行进程退出,排到进程链尾部
撤消该进程
链首进程投入运行
时间片到,进程时间片数
减1,占用CPU时间加1
优先数大于链首进程?
进程时间片数为0?
撤消该进程
运行进程退出,按优先数插入进程链
从链首取一个进程投入运行
结束
结束
进程队列空?
进程队列空?
是
文档评论(0)