计算机进程调度论文,计算机操作系统小论文Linux进程调度.doc

计算机操作系统小论文Linux进程调度.doc

Linux进程调度

一、概述

自1991年Linux操作系统出现以来,Linux操作系统以令人惊异的速度迅速 在服务器和桌面系统中获得了成功。它已经被业界认为是未来最有前途的操作系 统之一,并且在嵌入式领域,由于Limix操作系统具有开放源代码、良好的可移 植性、丰富的代码资源以及异常的健壮,使得它获得越来越多的关注。[1]本文分 析丫 Linux操作系统屮几种常用的调度算法。

二、高级、中级和低级调度

在操作系统中,存在很多种调度,如用户提交作业的调度、运行进程的调度、 I/O请求的调度、存储空间切换的调度等。在不同的操作系统中所采用的调度方 式不完全相同,在执行调度时所采用的调度算法也可能不同。因此,可从不同的 角度对调度进行分类。常用的一种分类方法是按调度的层次,把调度分为高级调 度、屮级调度和低级调度。

高级调度

高级调度通常也称作业调度,用于决定把外存上处于后备队列中的哪些作业 调入内存,准备执行。系统接纳一个作业后,将它变为一个或者多个进程,为它 们分配除了处理机之外的必要的系统资源后,将其排入就绪队列,准备执行。值 得注意的是,在批处理系统屮,作业进入系统后,是先驻留在外存上的,因此, 需要有作业调度,以将它们分批装入内存;在分时系统中,为了能及吋响应,用 户通过键盘输入的命令或数据等,都是直接送入内存,因而无须配置作业调度; 类似地,在实时系统中,通常也不需要作业调度。

中级调度

屮级调度大多针对于分时系统,是按一定的算法在内存和外存之间进行进程 对换,0的在于缓和内存的紧张。为此,应使那些暂时不具备执行条件的进程不 再占用宝贵的内存空间,将它们挂起并调至外存上等待,称此时进程的状态为挂 起状态。当这些进程重新又具备执行条件,且内存已空闲时,再由中级调度决定, 将外存上哪些已具备执行条件的进程解除挂起后重新调入内存,排在进程就绪队 列上,等待进程调度。

由此可见,中级调度实质上是决定允许哪些进程有资格参与竞争处理机资 源。中级调度实施的方法是“挂起”和“解除挂起”进程,将进程的程序和数据 在内存与外存间进行对换,以达到短期调整系统负荷的作用。所以中级调度也常 称为进程对换。屮级调度实际上就是存储器管理屮的进程对换功能。

低级调度

低级调度就是指进程调度,它决定就绪队列中的哪个进程可以获得处理机。 被低级调度选中的进程将实际获得处理机,并可立即在处理机上执行它的程序。 在以进程为单位的操作系统屮,进程调度是最基本的调度,在3种基本类型的 操作系统中,都必须配置低级调度。

三、进程调度的方式

进程调度通常有以下两种方式。

非剥夺方式

非剥夺方式也称非抢占方式。采用这种调度方式时,一旦把处理机分配给某 个进程后,便让该进程一直执行,直至该进程完成或发生某事件而被阻塞时,才 把处理机分配给其他进程,决不允许其他进程强占己分配出去的处理机。

这种调度方式的优点是实现简单、系统开销小,适用于大多数的批处理系统 环境。但它难以满足紧急任务的要求一一立即执行,因而可能造成难以预料的后 果。显然,在要求比较严格的实时系统中,不宜采用这种调度方式。

剥夺方式

剥夺方式也称抢占方式,其含义是根据某种原则,强行剥夺现行进程正在使 用的处理机,并把处理机分配给其他进程。剥夺原则如下所述。

优先级原则。通常对一些重耍和紧急的进程,赋予较高的优先级。优先级高 的进程可以剥夺优先级低的进程而执行。

短进程优先原则。当到达的进程比正在执行的进程明显短时,将剥夺长进程 的执行而优先执行短进程。

时间片原则。每个进程被分配给一个同样的时间片,时间片用完后重新进行 处理机调度。

强制性剥夺。极重要的进程或人工干预,强制引起处理机调度。

四、进程调度算法

在Linux操作系统中,有五种常用的进程调度算法:先来先服务(FCFS) 调度算法、短进程优先(SPF)调度算法、高优先级优先(HPF)调度算法、 时间片轮转法(RR)以及多级反馈队列调度算法。

先来先服务(FCFS)调度算法

在进程调度中,采用FCFS调度算法时,进程调度程序从就绪进程队列中, 选择一个最先进入队列的进程,把CPU分配给它,让它进入执行状态。该进程 一直执行,直到进程完成或因等待某事件发生阻塞时,才放弃CPU。

为了实现FCFS调度算法,系统只要按先进先出(FIFO)规则建立进程就绪 队列即可,也就是进程控制块入队时加在队列末尾,调度出队时从队列首开始顺 序扫描,将相关的PCB调度移出相应队列。

FCFS调度算法具有一定的公平性,并且实现也比较容易,这是它的优点。 但是,它的缺点是实际上不公平,它比较有利于长进程,而不利于短进程。因为 对于那些执行吋间较短的进程来说,如果它们在某些执行时间很长的进程开始执 行之后到达,则短进程将等待很讼的时间。

在实际操作系统中,尽管很少单独使用

你可能感兴趣的:(计算机进程调度论文)