资源描述
实验一 进程管理
一、实验目得
通过程序得编写加强对进程概念得理解。
二、实验仪器
1、PC兼容机
2、Windows、DOS系统
3、C或C++语言
三、实验原理
通过C或C++语言创建新得进程;查瞧运行进程;换出某个进程;杀死运行进程;进程之间通信以及进程调度等功能。
四、实验内容与步骤
1、创建新得进程;查瞧当前运行进程;换出某个进程(中级调度);杀死运行进程.
2、进程之间得通信功能:消息缓冲队列机制.
3、用优先权(优先数)算法与时间片轮转算法对五个进程进行调度。
提示:
1、PCB(进程控制块)结构通常包括以下信息:进程名,进程优先权(优先数),轮转时间片,进程所需要得CPU服务时间,进程得状态,当前队列指针等。PCB结构得内容可以根据实际实验需要作适当得增删.
2、
①每个进程可有三个状态,并假设初始状态为就绪状态.
②为了便于处理,程序中得某进程运行时间以秒为单位计算。各进程得优先数及进程需运行得时间得初始值均由用户给定。
③在优先权(优先数)算法中,每个进程得优先数得初始值为(50减去运行时间),进程每执行一次,优先数减3,CPU已运行时间数加1,进程还需要得时间数减1。对于遇到优先数一致得情况,采用先来先服务策略解决。
④在时间片轮转算法中,采用固定时间片,即:进程每执行一次,执行一个CPU时间片,1个时间片包含2秒,一个时间片结束时,进程已使用CPU时间数加2,进程还需要得CPU时间数减2,如还有任务未完成需要重新到就绪队列末尾排队。如果进程在一个时间片得结束之前完成任务离开系统,剩余得时间片送给下一个就绪进程使用,这个就绪进程用完上一个进程剩余得时间片后,进入自己得另一个完整时间片继续执行。
五、实验结果范例
实验运行结果1:
ﻩ********************************************
* 进程演示系统 *
ﻩ********************************************
ﻩ 1、创建新得进程 2、查瞧运行进程
ﻩ 3、换出某个进程 4、杀死运行进程
ﻩ 5、进程之间通信 6、进程调度
7、退出系统
ﻩ********************************************
ﻩ请选择(1~7)
然后根据您选择得不同,出现不同得结果。
实验运行结果2:
在进程调度中,若选择了优先权调度算法,则进一步显示:
INPUT NAME AND NEEDTIME
A1 2
A2 3
A3 4
A4 2
A5 4
OUTPUT OF PRIORITY:
CPUTIME:1
NAME CPUTIME NEEDTIME PRIORITY STATE
A1 1 1 45 working
A2 0 3 47 ready
A3 0 4 46 ready
A4 0 2 48 ready
A5 0 4 46 ready
CPUTIME:2
NAME CPUTIME NEEDTIME PRIORITY STATE
A1 1 1 45 ready
A2 0 3 47 ready
A3 0 4 46 ready
A4 1 1 45 working
A5 0 4 46 ready
CPUTIME:3
NAME CPUTIME NEEDTIME PRIORITY STATE
A1 1 1 45 ready
A2 1 2 44 working
A3 0 4 46 ready
A4 1 1 45 ready
A5 0 4 46 ready
CPUTIME:4
NAME CPUTIME NEEDTIME PRIORITY STATE
A1 1 1 45 ready
A2 1 2 44 ready
A3 1 3 43 working
A4 1 1 45 ready
A5 0 4 46 ready
注:当进程执行完后,CPUTIME不再增加,其优先权也不再计算.因为程序执行完成,就放弃CPU,退出系统。
CPUTIME:5
NAME CPUTIME NEEDTIME PRIORITY STATE
A1 1 1 45 ready
A2 1 2 44 ready
A3 1 3 43 ready
A4 1 1 45 ready
A5 1 3 43 working
CPUTIME:6
NAME CPUTIME NEEDTIME PRIORITY STATE
A1 2 0 42 finish
A2 1 2 44 ready
A3 1 3 43 ready
A4 1 1 45 ready
A5 1 3 43 ready
CPUTIME:7
NAME CPUTIME NEEDTIME PRIORITY STATE
A1 2 0 42 finish
A2 1 2 44 ready
A3 1 3 43 ready
A4 2 0 42 finish
A5 1 3 43 ready
CPUTIME:8
NAME CPUTIME NEEDTIME PRIORITY STATE
A1 2 0 42 finish
A2 2 1 41 working
A3 1 3 43 ready
A4 2 0 42 finish
A5 1 3 43 ready
CPUTIME:9
NAME CPUTIME NEEDTIME PRIORITY STATE
A1 2 0 42 finish
A2 2 1 41 ready
A3 2 2 40 working
A4 2 0 42 finish
A5 1 3 43 ready
CPUTIME:10
NAME CPUTIME NEEDTIME PRIORITY STATE
A1 2 0 42 finish
A2 2 1 41 ready
A3 2 2 40 ready
A4 2 0 42 finish
A5 2 2 40 working
CPUTIME:11
NAME CPUTIME NEEDTIME PRIORITY STATE
A1 2 0 42 finish
A2 3 0 38 finish
A3 2 2 40 ready
A4 2 0 42 finish
A5 2 2 40 ready
CPUTIME:12
NAME CPUTIME NEEDTIME PRIORITY STATE
A1 2 0 42 finish
A2 3 0 38 finish
A3 3 1 37 working
A4 2 0 42 finish
A5 2 2 40 ready
CPUTIME:13
NAME CPUTIME NEEDTIME PRIORITY STATE
A1 2 0 42 finish
A2 3 0 38 finish
A3 3 1 37 ready
A4 2 0 42 finish
A5 3 1 37 working
CPUTIME:14
NAME CPUTIME NEEDTIME PRIORITY STATE
A1 2 0 42 finish
A2 3 0 38 finish
A3 4 0 34 finish
A4 2 0 42 finish
A5 3 1 37 ready
CPUTIME:15
NAME CPUTIME NEEDTIME PRIORITY STATE
A1 2 0 42 finish
A2 3 0 38 finish
A3 4 0 34 finish
A4 2 0 42 finish
A5 4 0 34 finish
时间片轮转调度算法演示:
INPUT NAME AND NEEDTIME
A1 2
A2 3
A3 4
A4 2
A5 4
CPUTIME:1
NAME CPUTIME NEEDTIME STATE
A1 1 1 working
A2 0 3 ready
A3 0 4 ready
A4 0 2 ready
A5 0 4 ready
CPUTIME:2
NAME CPUTIME NEEDTIME STATE
A1 2 0 finish
A2 0 3 ready
A3 0 4 ready
A4 0 2 ready
A5 0 4 ready
CPUTIME:3
NAME CPUTIME NEEDTIME STATE
A1 2 0 finish
A2 1 2 working
A3 0 4 ready
A4 0 2 ready
A5 0 4 ready
CPUTIME:4
NAME CPUTIME NEEDTIME STATE
A1 2 0 finish
A2 2 1 working
A3 0 4 ready
A4 0 2 ready
A5 0 4 ready
CPUTIME:5
NAME CPUTIME NEEDTIME STATE
A1 2 0 finish
A2 2 1 ready
A3 1 3 working
A4 0 2 ready
A5 0 4 ready
CPUTIME:6
NAME CPUTIME NEEDTIME STATE
A1 2 0 finish
A2 2 1 ready
A3 2 2 working
A4 0 2 ready
A5 0 4 ready
CPUTIME:7
NAME CPUTIME NEEDTIME STATE
A1 2 0 finish
A2 2 1 ready
A3 2 2 ready
A4 1 1 working
A5 0 4 ready
CPUTIME:8
NAME CPUTIME NEEDTIME STATE
A1 2 0 finish
A2 2 1 ready
A3 2 2 ready
A4 2 0 finish
A5 0 4 ready
CPUTIME:9
NAME CPUTIME NEEDTIME STATE
A1 2 0 finish
A2 2 1 ready
A3 2 2 ready
A4 2 0 finish
A5 1 3 working
CPUTIME:10
NAME CPUTIME NEEDTIME STATE
A1 2 0 finish
A2 2 1 ready
A3 2 2 ready
A4 2 0 finish
A5 2 2 working
CPUTIME:11
NAME CPUTIME NEEDTIME STATE
A1 2 0 finish
A2 3 0 finish
A3 2 2 ready
A4 2 0 finish
A5 2 2 ready
CPUTIME:12
NAME CPUTIME NEEDTIME STATE
A1 2 0 finish
A2 3 0 finish
A3 3 1 working
A4 2 0 finish
A5 2 2 ready
CPUTIME:13
NAME CPUTIME NEEDTIME STATE
A1 2 0 finish
A2 3 0 finish
A3 4 0 finish
A4 2 0 finish
A5 2 2 ready
CPUTIME:14
NAME CPUTIME NEEDTIME STATE
A1 2 0 finish
A2 3 0 finish
A3 4 0 finish
A4 2 0 finish
A5 3 1 working
CPUTIME:15
NAME CPUTIME NEEDTIME STATE
A1 2 0 finish
A2 3 0 finish
A3 4 0 finish
A4 2 0 finish
A5 4 0 finish
六、实验验收要求及成绩评定
本学期最后一次实验课结束之前,在实验室给任课教师演示实验得运行过程与结果,讲解程序得详细编写过程。
展开阅读全文