优先级详细步骤流程图

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

开始
输入算法选择(P ||R)
输入进程数量 (count) 输入进程号和所需 时间 (pro[i].id,pro[i].need _time])
P 判断输入的值 是P还是R
结束 通过结构体快排按 照优先级从高到低 排序然后按照标记 每个进程的顺序 (qsort(pro, count, sizeof(struct progress), cmp);pro[i].sequenc e = i;) 将优先级最高的状 态标记为‘R’排 序后的所有进程信 息输出pro[0].status = 'R'
将优先级最高的进 程的CPU时间加 1,所需时间数减1, 优先级减少5,然后 重新按照优先级排 序 判断改进程是 否已经完成 pro[0].need_tim e != 0?
继续按照优先级大 小排序
Байду номын сангаас
否 pro[0].need_time!= 0
是 pro[0].need_time == 0
将已经完成的进程 标记为’F’并移 出队列counting--
优先级为100减去 所需时间,并将进 程其他数据初始化, 保留count的值 (pro[i].cpu_time = 0;pro[i].priority = 100 pro[i].need_time;pro [i].status = 'W';)

判断所有进程 是否完成 counting == 0? 否
相关文档
最新文档