实验三 进程(作业)调度
一.实验目的
加深理解并模拟实现进程(作业)调度算法。
1)熟悉常用的进程调度算法,如FCFS、SPF、FPF、高响应比优先、时间片轮转; 2)结合所学的数据结构及编程知识,选择一种进程调度算法予以实现。
二.实验属性
该实验为设计性实验。
三.实验仪器设备及器材
普通PC386以上微机
四.实验设计
在这个实验中我选择了时间片轮转算法 算法的实现: oid RoundRobin() {
struct PCB *processes, *pt; //pt作为临时节点来创建链表
processes = pt = (struct PCB*)malloc(sizeof(struct PCB)); for (int i = 0; i != 5; ++i) {
struct PCB *p = (struct PCB*)malloc(sizeof(struct PCB)); printf(\"进程号No.%d:\\n\ printf(\"输入进程名:\"); scanf(\"%s\
printf(\"输入进程运行时间:\");
第 1 页
计算机学院 201200824302 秦向红 操作系统实验报告
scanf(\"%d\ p->p_runTime = 0; p->p_state = 'W'; p->next = NULL; pt->next = p; pt = p;
printf(\"\\n\\n\"); }
getchar(); //接受回车
//processes作为头结点来存储链表 processes = processes->next; int cases = 0; while (1) {
++cases;
pt = processes;
printf(\"The execute number: %d\\n\\n\
printf(\"**** 当前正在运行的进程是:%s\\n\ pt->p_state = 'R';
printf(\"qname state super ndtime runtime\\n\"); printf(\"%s\%c\%d\%d\%d\\\n\\n\pt->p_name, pt->p_state, pt->p_priority, pt->p_needTime, pt->p_runTime);
pt->p_state = 'W'; pt->p_runTime++; pt->p_priority--;
printf(\"**** 当前就绪状态的队列为:\\n\\n\"); pt = pt->next; while (pt != NULL) {
printf(\"qname state super ndtime runtime\\n\");
printf(\"%s\%c\%d\%d\%d\\\n\\n\pt->p_name, pt->p_state, pt->p_priority, pt->p_needTime, pt->p_runTime);
pt = pt->next; }
//检测是否运行时间等于需要时间,是的话从队列里面删除,不是的话加到队列最尾部
pt = processes;
第 2 页
计算机学院 201200824302 秦向红 操作系统实验报告
if (pt->p_needTime == pt->p_runTime) {
pt->p_state = 'C'; pt = processes->next; processes = pt; } else {
if (pt ->next != NULL) {
//寻找最后一个节点
while (pt->next != NULL) pt = pt->next;
struct PCB* ptem;//临时节点用来帮助把头结点插到尾部 ptem = processes->next; pt->next = processes; processes->next = NULL; processes = ptem; } }
pt = processes; if (pt == NULL) break; getchar(); } }
五.实验结果
a. 进程创建:A、B、C、D、E:
第 3 页
计算机学院 201200824302 秦向红 操作系统实验报告
b. 第一个状态:
c. 第三个状态:
第 4 页
计算机学院 201200824302 秦向红 操作系统实验报告
d. 第四个状态:
e. 第五个状态
第 5 页
计算机学院 201200824302 秦向红 操作系统实验报告
......
f. 第十八个状态,结束:
第 6 页
计算机学院 201200824302 秦向红 操作系统实验报告
六. 实验心得
通过本次试验,我又进一步对于进程(作业)调度算法的深奥性有了进一步的了解,特别是通过程序对时间片轮转算法的设计与实现,我又进一步对该算法有了深刻的体会。在实验过程中,我对于该算法的原理做了进一步的查阅与研究,做了深刻的算法设计,让我学到了很多新的知识。
第 7 页
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- haog.cn 版权所有 赣ICP备2024042798号-2
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务