天道酬勤,恒者能胜。追求卓越,成功就会在不经意间追上你。

操作系统进程管理之进程调度(七.2)

上一篇 / 下一篇  2013-01-15 17:30:15 / 精华(1) / 置顶(1) / 个人分类:Linux操作系统

4、 进程调度

a)        进程的定义:进程是程序在处理机上的一次执行过程,包括程序、数据以及进程控制块等信息。

b)        进程调度的定义:如上已给出

c)        进程调度程序的主要工作

                        i.             记录系统中所有进程的有关情况及状态特征

                      ii.             选择获得处理机的进程

                     iii.             处理机分配

d)        进程调度的原因

                        i.             当前运行进程运行结束

                      ii.             当前运行进程因某种原因,从运行状态进入阻塞状态

                     iii.             当前运行进程执行某种原语操作,进入阻塞状态

                     iv.             执行完系统调用等系统程序后返回用户进程

                      v.             在采用剥夺调度方式的系统中,高优先级的进程需要使用处理机

                     vi.             在分时系统中,分配给进程的时间片已用完

e)        进程调度的方式

                        i.             定义:是指当某一个进程正在处理机上执行时,若有某个更为重要或紧迫的进程需要进行处理,此时该如何分配处理机

                      ii.             抢占方式:又称剥夺方式、可剥夺方式、可抢占方式,可以被其他进程抢走处理机。

                     iii.             非抢占方式:又称非剥夺方式、不可剥夺方式、不可抢占方式,直到该进程自动放弃处理机,否则不能抢走处理机。

5、 调度的算法

a)        先来先服务调度算法(First Come First ServedFCFS):按作业或进程达到的先后顺序进行调度。

                        i.             优点:算法简单,有利于长作业,有利于CPU繁忙型;

                      ii.             缺点:效率较低,不利于短作业,不利于I/O繁忙型。

b)        短作业优先调度算法(Shortest Job FirstSJF):按作业或进程运行时间的长短进行调度,优先调度运行时间最短的作业或进程

                        i.             优点:较好的性能

                      ii.             缺点:对长作业不利

c)        优先级调度算法:按作业或进程的优先级进行调度,优先调度优先级高的作业或进程

                        i.             静态优先级:在创建进程时确定优先级,确定之后整个进程运行期间不再改变,确定静态优先级的依据

1.        进程类型

2.        进程对资源的要求

3.        用户要求

                      ii.             动态优先级:在创建进程时确定优先级,在进程运行过程中再根据情况变化调整优先级,确定动态优先级的依据:

1.        进程占有CPU的时间长短

2.        就绪进程等待CPU的时间长短

d)        时间片轮转调度算法(Round-RobinRR):用于进程调度,将处理机时间分为很短的时间片,按照时间片轮流将处理机分配给就绪队列中的各个进程使用。时间片的确定依据:

                        i.             系统的响应时间

                      ii.             就绪队列中的进程数目

                     iii.             系统的处理能力

e)        高响应比优先调度算法(Highest Response Ration FirstHRRF):是对先来先服务调度算法和短作业优先调度算法的综合,主要用于作业调度,选择响应比最高的作业投入运行

f)         多级队列调度算法:将就绪队列划分成若干个子队列,每个进程固定属于一个子就绪队列,每个子就绪队列采用一种调度算法,不同的队列采用不同的调度算法

g)        多级反馈队列调度算法:是对时间片轮转调度算法和优先级调度算法的综合,实现思想如下:

                        i.             在系统中设置多个就绪队列,第1个队列的优先级最高,第2个队列次之,其余队列的优先级逐次降低;

                      ii.             每个队列中进程的时间片与优先级成反比;

                     iii.             当新进程进入系统时将它放入第1个队列末尾,按先来先服务的原则排队等待调度;当轮到该进程执行时,如果它在一个时间片内结束时未完成,调度程序便将该进程转入第2个队列的末尾,依次类推,

                     iv.             仅当第1个队列为空时,调度程序才从第2个队列中选择进程运行,最后一个队列中使用时间片轮转调度算法,处理机调度采用抢占式优先级调度算法,当处理机正在执行第i个队列中的某个进程时,若其处理机被抢占则该进程仍然回到第i个队列末尾。

                                                                                                      零测试


TAG: 零测试 进程调度 先来先服务 优先级调度算法

 

评分:0

我来说两句

Open Toolbar