操作系统进程调度算法
阿里云国际版折扣https://www.yundadi.com |
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6 |
进程调度
-
高级调度作业调度按一定的原则从外存的作业后备队列中挑选一个作业调入内存并创建进程。==每个作业只调入一次调出一次。==作业调入时会建立PCB调出时会撤销PCB。
-
中级调度内存调度按照某种策略决定将哪个处于挂起状态的进程重新调入内存。
-
低级调度进程调度/处理机调度按照某种策略从就绪队列中选取一个进程将处理机分配给它。
进程调度与切换在以下情况是不能发生的
- 在处理中断的过程中 处理中断与硬件相关比较复杂
- 在操作系统内核程序临界区中 进程访问内核程序临界区时会上锁如果此时发生切换其他进程无法访问影响比较大
- 在原子操作过程中 原语不可中断
1、调度算法的评价指标
- cpu利用率
- 系统吞吐量
- 周转时间
- 带权周转时间
- 等待时间
- 响应时间
2、FCFS先来先服务
3、SJF短作业优先
非抢占式
抢占式
4、HRRN高响应比优先
5、时间片轮转RR
- 同一时刻如果有进程到达也有进程时间片用完默认新到达的进程排在等待队列的前面
- 时间片太大每个进程都能在一个时间片内运行完则该算法就退化为了先来先服务算法
- 时间片太小进程切换也是需要时间的会造成系统开销增大从而导致实际用于进程执行的时间减少
6、优先级
- 优先级调度发生在有新进程到达或进程运行结束时
- 注意是优先数越高优先级越高还是优先数越低优先级越高
7、多级反馈队列
- 如果在k级队列运行时上一级队列有进程到达则会把该进程重新放在k级队列队尾