linux进程调度课程设计,操作系统课程设计---进程调度算法

3a5429672e603c333e817469066cd8b7.gif操作系统课程设计---进程调度算法

操作系统操作系统 课程设计课程设计 题目 进程调度算法 班级 xxx 姓名 xxx 学号 xxx 序号 xxx 指导老师xxx 进程调度算法 一、实验名称 进程调度 二、实验目的 通过优先权法与轮转调度算法的模拟加深对进程概念和进程 调度过程的理解,掌握进程状态之间的切换,同时掌握进程调度 算法的实现方法和技巧。 三、实验内容 1、用 C 语言来实现对 N 个进程采用优先算法以及轮转算法的进程 调度。 2、每个用来标示进程的进程控制块 PCB 用结果来描述,包括以下 字段 (1)进程标识 ID,其中 0 为闲逛进程,用户进程的标识数为 1、 2、3、 、 、 、 、 、 、 。 (2)进程优先级 Priority,闲逛进程(idle)的优 先级为 0,用户有进程的优先级大于 0,且随机产生,标识数越大, 优先级越高。 (3)进程占用的 CPU 时间 CPUtime,进程每运一次,累积等于 4. (4)进程总共需要运行时间 Alltime,利用随机函数产生。 (5)进程状态,0就绪态,1运行态,2阻塞态。 (6)队列指针 next,用来将多个进程控制块 PCB 链接为队列。 3、优先数改变的原则 (1)进程在就绪队列中每呆一个时间片,优先数增加 1. (2)进程每运行一个时间片,优先数增加 1. 4、在调度前,系统中拥有的进程数 PCB_number 有键盘输入,进 初始化后,所有的进程控制块 PCB 连接成就绪队列。 5、为了清楚的观察诸进程的调度过程,程序应将每个时间片内的 进程的情况显示出来。 四、实验步骤 1、进程管理程序调式好后,运行进程管理程序 Y N N Y Y N N Y Y Y N N Y ready-queue 是否为空 将 Running 从 ready_queue 中删除, 再将 running 加入 block_queueb 将其从 blick_queuek 队列是中删除, 再将其加入 ready_queuek 输入开始进程数 n 随机 对 block_queue 中的进程 PCB询问是否要唤醒 创建新进程并加入到 ready_queue 中 Running逐个将 redy_pc 中的 PCB 创建 n 个 PCB并加入 readyqueue 中 处理完了吗 阻塞 Running 是否要唤醒 是否创建新 PCB Runningidle Runningid 更新新进程就绪队列进程优先数, 优先数加 1 2、优先权调度 (1)输入 1 选择优先权调度算法模拟。 (2)输入开始进程个数 n,创建 n 个 PCB 并加入就绪队列 ready_queue 中。 (3)就绪队列 ready_queue 不为空,调度就绪队列中第一个 进程运行,否则,从闲逛队列 idleprocess 中调度闲逛进程运行。 (4)在运行过程中,当遇到阻塞,则该进程插入到阻塞队列 block_queue 中,且将该进程从 ready_queue 中删除。 (5)如果运行时间 CPUtime 大于等于 Alltime,该进程运行 完毕,释放该进程;否则插入到就绪队列中。 (6)更新就绪队列中的优先级数。 (7)随机对阻塞队列 block_queue 中的进程

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值