春招冲刺Day1 [操作系统] --CPU调度(进程调度)

进程调度

  • 1.什么是进程调度
  • 2.什么时候需要调度??
  • 3.常见的调度算法(单处理器,不考虑多核)
    • (1.FCFS(先来先服务)
    • (2.SJF(短作业优先)
    • (3.HRRN(高响应比优先)
    • (4.RR(时间片轮转)
    • (5.最高优先级调度(HPF)
    • (6.多级反馈队列(MFQ)(目前公认较好)

1.什么是进程调度

春招冲刺Day1 [操作系统] --CPU调度(进程调度)_第1张图片

2.什么时候需要调度??

在这里插入图片描述
春招冲刺Day1 [操作系统] --CPU调度(进程调度)_第2张图片
在这里插入图片描述
⾮抢占式的意思就是,当进程正在运⾏时,它就会⼀直运⾏,调度程序必须等待进程执行结束,即使该进程由于IO阻塞住了

⽽抢占式调度,顾名思义就是进程正在运⾏的时,可以被打断,使其把 CPU 让给其他进程。春招冲刺Day1 [操作系统] --CPU调度(进程调度)_第3张图片

3.常见的调度算法(单处理器,不考虑多核)

衡量调度算法的好坏的准则
其中周转时间 = 等待时间(在就绪队列中等待被执行的时间) + 执行时间(实际被CPU执行的时间
春招冲刺Day1 [操作系统] --CPU调度(进程调度)_第4张图片

春招冲刺Day1 [操作系统] --CPU调度(进程调度)_第5张图片

(1.FCFS(先来先服务)

春招冲刺Day1 [操作系统] --CPU调度(进程调度)_第6张图片

(2.SJF(短作业优先)

春招冲刺Day1 [操作系统] --CPU调度(进程调度)_第7张图片
春招冲刺Day1 [操作系统] --CPU调度(进程调度)_第8张图片

(3.HRRN(高响应比优先)

春招冲刺Day1 [操作系统] --CPU调度(进程调度)_第9张图片

响应比 = 1 + 等待时间 / 执行时间
春招冲刺Day1 [操作系统] --CPU调度(进程调度)_第10张图片
优点: 很好地权衡了长作业和短作业
缺点: 每次调度前,需要计算每个进程的响应比,增加系统开销

(4.RR(时间片轮转)

春招冲刺Day1 [操作系统] --CPU调度(进程调度)_第11张图片

(5.最高优先级调度(HPF)

春招冲刺Day1 [操作系统] --CPU调度(进程调度)_第12张图片

(6.多级反馈队列(MFQ)(目前公认较好)

[参考资料] 操作系统导论

多级反馈队列不需要事先知道进程所需要的执行时间,还可以保证
长工作之间可以公平地分享CPU,又能给短工作或交互型工作很好的响应时间

缺点: 有可能导致饥饿

所谓多级:

就是设置多个就绪队列,并为每个就绪队列设置不同的优先级,第一个队列优先级最高,第二个其次,其余队列优先级逐个降低,优先级越高的,时间片越小,相同优先级使用RR;

所谓反馈
就是可以实时调整进程的优先级,进程等待时间越长,优先级会越来越高,进程执行时间越长,优先级会越来越低
春招冲刺Day1 [操作系统] --CPU调度(进程调度)_第13张图片

当进程执行IO操作时,也就是交互操作,此时时间片没有使用完,就会放弃对CPU的使用,此时应该保证优先级不变,目的当在进程完成IO后,CPU能及时调度该进程
当进程是CPU密集型,即需要很多时间片,即一个时间片不能执行完成,此时可以降低进程的优先级,放到下一级队列的末尾,即减少CPU的占用时间

春招冲刺Day1 [操作系统] --CPU调度(进程调度)_第14张图片

你可能感兴趣的:(春招冲刺,操作系统,春招,计算机,java)