并发编程-进程-03进程调度

要想多个进程交替运行,操做系统必须对这些进程进行调度,这个调度也不是随即进行的,而是须要遵循必定的法则,由此就有了进程的调度算法。算法

一丶先来先服务调度算法

先来先服务(FCFS)
ps:名字就把意思安排的明明白白的,就是队列意思

二丶短做业优先调度算法

短做业(进程)优先调度算法(SJ/PF)是指对短做业或短进程优先调度的算法,该算法既可用于做业调度,也可用于进程调度。但其对长做业不利;不能保证紧迫性做业(进程)被及时处理;做业的长短只是被估算出来的。

阿攀大白话:

先作短时间的做业,而后长期的做业,形成问题对短时间做业的有好处,长期做业可能一直执行不到或时间过久!操作系统

三丶时间片轮转法

时间片轮转(Round Robin,RR)法的基本思路是让每一个进程在就绪队列中的等待时间与享受服务的时间成比例。
在轮转法中,加入到就绪队列的进程有3种状况:
    1.第一种是分给它的时间片用完,但进程还未完成,回到就绪队列的末尾等待下次调度去继续执行。
    2.第二种状况是分给该进程的时间片并未用完,只是由于请求I/O或因为进程的互斥与同步关系而被阻塞。当阻塞解除以后再回到就绪队列。
    3.第三种状况就是新建立进程进入就绪队列

四丶多级反馈队列

多级反馈队列调度算法则没必要事先知道各类进程所需的执行时间,并且还能够知足各类类型进程的须要,于是它是目前被公认的一种较好的进程调度算法。code

  1. 应设置多个就绪队列,并为各个队列赋予不一样的优先级。
  2. 当一个新进程进入内存后,将它放入第一队列的末尾,按先进先出等待调度。若是它在一个时间片还没有完成,调度程序便将该进程转入下个队列的末尾,再一样地按先进先出等待调度执行;
  3. 仅当上一队列空闲时,调度程序才调度对应队列中的进程运行

进程调度

相关文章
相关标签/搜索