没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
试读
9页
一、 目的要求 用高级语言编写和调试一个进程调度程序,以加深对进程的概念及进程调度算法的理解。 二、 实习题 编写并调试一个模拟的进程调度程序。采用“轮转法”调度算法对五个进程进行调度。 轮转法可以是简单轮转法,可变时间片轮转法,或多队列轮转法。 简单轮转法的基本思想是:所有就绪进程按FCFS排成一个队列,总是把处理机分配给队首的进程,各进程占用的时间片相同,如果运行进程用完它的时间片后还未完成,就把它送回到就绪队列的末尾,把处理机重新分配给队首的进程。直到所有的进程运行完毕。 三、 编程思想 用结构体代表进程,将所有进程构造一个循环链表,逐个进行进程,如果进程的所需运行时间等于该进程已占用的CPU时间,刚该进程运行完毕,从循环链表中删除该节点,继续运行下一个进程,如此循环至所有进程运行完毕为止。 四、 程序数据结构 struct pcb{ char name[10]; /* 进程名 */ char state; /* 进程状态 */ int ntime; /* 完成进程所需时间 */ int rtime; /* 已占用CPU时间 */ struct pcb *link; /* 结构体指针 */ } *ready=NULL,*p; typedef struct pcb PCB;
资源推荐
资源详情
资源评论
大学学院实验报告
课程名称:计算机操作系统 实验名称:进程 调度实验 实验日期:
班级: 姓名:学号:仪器编号:
实验报告要求:实验目的实验要求实验步骤程序清单运行情况流程图实验体会
1、实验目的
用高级语言编写和调试一个进程调度程序,以加深对进程的概念及进程调度算法的理解。
2、实验要求
编写并调试一个模拟的进程调度程序,采用“最高优先数优先”调度算法对五个进程进行调度。
“最高优先数优先”调度算法的基本思想是把 CPU 分配给就绪队列中优先数最高的进程。静态优先数
是在创建进程时确定的,并在整个进程运行期间不再改变。
动态优先数是指进程的优先数在创建进程时可以给定一个初始值,并且可以按一定原则修改优先
数。例如:在进程获得一次 CPU 后就将其优先数减少 1,或者,进程等待的时间超过某一时限时增加
其优先数的值,等等。
编写并调试一个模拟的进程调度程序,采用“轮转法”调度算法对五个进程进行调度。
轮转法可以是简单轮转法、可变时间片轮转法,或多队列轮转法。
简单轮转法的基本思想是:所有就绪进程按 FCFS 排成一个队列,总是把处理机分配给队首的进
程,各进程占用 CPU 的时间片相同。如果运行进程用完它的时间片后还为完成,就把它送回到就绪队
列的末尾,把处理机重新分配给队首的进程,直至所有的进程运行完毕。
3、实验步骤
(1)理解实验要求,联系所学知识; (2)根据要求编写调度算法; (3)编写完整的实验代码并
在 VC++ 6.0 环境下编译运行; (4)调试程序直至得出结果。
4、程序清单
! "!#$%& !!
'())*
+,
$+$#-*./
$+$/
+/
0#/
+0#/
+"1/
资源评论
- qq_240885572015-01-06内容详细,挺好的
- qq_223288872015-01-10内容较为完整比较好
sinat_22881371
- 粉丝: 0
- 资源: 1
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功