2016-09-07 10:13:46

处理机调度 免费编辑 添加义项名

B 添加义项
?
义项指多义词的不同概念,如李娜的义项:网球运动员、歌手等;非诚勿扰的义项:冯小刚执导电影、江苏卫视交友节目等。 查看详细规范>>
所属类别 :
计算机概念
计算机概念
编辑分类

在多道程序设计系统中,内存中有多道程序运行,他们相互争夺处理机这一重要的资源。处理机调度就是从就绪队列中,按照一定的算法选择一个进程并将处理机分配给它运行,以实现进程并发地执行。

基本信息

  • 中文名

    处理机调度

  • 释义

    照算法选择进程并将处理机分配

  • 目的

    实现进程并发地执行

  • 功能

    记住进程的状态等

  • 性能准则

    不问的调度算法

  • 因素

    CPU利用率等

折叠 编辑本段 功能

一般情况下,当占用处理机的进程因为某种请求得不到满足而不得不放弃CPU进入等待状态时,或者当时间片到,系统不得不将CPU分配给就绪队列中另一进程的时候,都要引起处理机调度。除此之外,进程正常结束、中断处理等也可能引起处理机的调度。因此,处理机调度是操作系统核心的重要组成部分,它的主要功能如下:

(1)记住进程的状态,如进程名称、指令计数器、程序状态寄存器以及所有通用寄存器等现场信息,将这些信息记录在相应的进程控制块中。

(2)根据一定的算法,决定哪个进程能获得处理机,以及占用多长时间。

(3)收回处理机,即正在执行的进程因为时间片用完或因为某种原因不能再执行的时候,保存该进程的现场,并收回处理机。

处理机调度的功能中,很重要的一项就是根据一定算法,从就绪队列中选出一个进程占用CPU运行。可见,算法是处理机调度的关键。

折叠 编辑本段 性能准则

处理机调度,有许多不问的调度算法,不同的调度算法具有不同的特性。因此,在介绍算法之前,先介绍衡量一个算法的基本准则。

衡量和比较调度算法性能优劣主要有一下几个因素:

(1)CPU利用率。CPU是计算机系统中最重要的资源,所以应尽可能使CPU保持忙,使这一资源利用率最高。

(2)吞吐量。CPU运行时表示系统正处于工作状态,工作量的大小是以每单位时间所完成的作业数目来描述的,这就叫吞吐量。

(3)周转时间。指从作业提交到作业完成所经过的时间,包括作业等待,在就绪队列中排队,在处理机上运行以及进行输入/输出操作所花时间的总和。

(4)等待时间。处理机调度算法实际上并不影响作业执行或输入/输出操作的时间,只影响作业在就绪队列中等待所花的时间。因此,衡量一个调度算法优劣常常简单的考察等待时间。

(5)响应时间。指从作业提交到系统作出响应所经过的时间。在交互式系统中,作业的周转时间并不一定是最好的衡量准则,因此,常常使用另一种度量准则,即响应时间。从用户观点看,响应时间应该快一点好,但这常常要牺牲系统资源利用率为代价。

折叠 编辑本段 调度算法

折叠 先来先服调度算法FIFO

这是最简单的处理机调度算法,其基本思想是按照进程进入就绪队列的先后顺序调度并分配处理机执行。先来先服务调度算法是一种不可抢占的算法,先进入就绪队列的进程,先分配处理机运行。一旦一个进程占有了处理机,它就一直运行下去,直到该进程完成工作或者因为等待某事件发生而不能继续运行时才释放处理机。

从表面上看,FIFO算法对所有作业都是公平的,并且一个作业的等待时间是可能预先估计的。但实际上这种算法是不利于小作业的,因为当一个大作业先进入就绪队列时,就会使其后的许多小作业等待很长的时间。这对小作业来说,等待时间可能要远远超出它运行的时间。

先来先服算法简单,易于程序实现,但它性能较差,在实际运行的操作系统中,很少单独使用,它常常配合其他调度算法一起使用。

折叠 时间片轮转调度算法RR

时间片轮转调度算法的基本思想是:对就绪队列中的每一进程分配一个时间片,时间片的长度q一般从10ms-1100ms不等。把就绪队列看成是一个环状结构,调度程序按时间片长度q轮流调度就绪队列中的每一进程,使每一进程都有机会获得相同长度的时间占用处理机运行。

时间片轮转调度算法在分时系统中,是一种既简单又有效的调度策略。一个分时系统有许多终端。终端用户在各自的终端设备上同时使用计算机。如果某个终端用户的程序长时间地占用处理机,那么其他终端用户的请求就不能得到即时相应。一般说来,终端用户提出请求后,能在几秒钟内得到响应也就感到满意了。采用时间片轮转算法,可以使系统即时地相应各终端用户的请求。

时间片轮转调度算法的性能极大的依赖于时间片长度q的取值,如果时间片过大。则RR算法就退化为FIFO算法了;反之,如果时间片过小,那么,处理机在各进程之间频繁转接,处理机时间开销变得很大,而提供给用户程序的时间将大大减少。

折叠 优先数法

优先数法的基本思想是:对就绪队列中的每个进程,首先按某种原则定义一个优先数来表示它,处理机调度时,每次选择就绪队列中优先数最大者(也可规定优先数愈小,其优先权愈高),让它占用处理机运行。

确定优先数一般可以有以下几种考虑:

(1)频繁使用外部输入、输出设备的进程优先数大。这样有利于提高CPU使用效率。

(2)重要程序的进程优先数大,怎样有利于用户灵活操作。

(3)进入计算机系统时间长的进程优先数大,这样有利于缩短作业的完成时间。

(4)交互式用户作业进程优先数大,这样有利于提高中断响应时间

优先数的设置可以采用静态和动态两种方式。静态设置方式就是指系统在建立一个进程时,就按照某种原则为进程制定一个优先数,这个优先数在进程存在期间一直保持不变。而动态设置方式是指系统在进程存在期间经常改变进程的优先数,如何动态的改变进程的优先数,依赖于具体操作系统的设计目标。

折叠 基于时间片的轮转调度算法

在早期的时间片轮转法中,系统将所有的就绪进程按先来先服务的原则排成一个队列,每次调度时,把CPU 分配给队首进程,并令其执行一个时间片。时间片的大小从几ms 到几百ms。当执行的时间片用完时,由一个计时器发出时钟中断请求,调度程序便据此信号来停止该进程的执行,并将它送往就绪队列的末尾;然后,再把处理机分配给就绪队列中新的队首进程,同时也让它执行一个时间片。这样就可以保证就绪队列中的所有进程在一给定的时间内均能获得一时间片的处理机执行时间。换言之,系统能在给定的时间内响应所有用户的请求。

阅读全文

热点资讯

我的关注