操作系统实验一(进程创建、删除、调度等)要求
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验一进程管理
一、实验目的
通过程序的编写加强对进程概念的理解。
二、实验仪器
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