我要投搞

标签云

收藏小站

爱尚经典语录、名言、句子、散文、日志、唯美图片

当前位置:全民彩票 > 多级反馈 >

【操作系统】进程调度(低级调度)

归档日期:05-02       文本归类:多级反馈      文章编辑:爱尚语录

  一旦把处理机分配给某进程,就让它一直运行下去,直至该进程完成或阻塞时,才把处理机分配给其它进程。

  允许调度程序根据某种原则,将已分配给该进程的处理机,重新分配给另一进程。

  它总是选择预期剩余时间最短的进程。只要新进程就绪,且有更短的剩余时间,调度程序就可能抢占当前正在运行的进程。

  SRT 不像 FCFS 偏向长进程,也不像轮转法(下个算法)产生额外的中断,从而减少了开销。

  就此例而言,平均周转时间和带权平均周转时间说明了SRT 好于前面的任何一个算法(因为它具有抢占的特点) 。

  有如下四个进程,它们的到达时间和服务时间如下表所示,请分别计算在采用 FCFS、SPF 非抢占、SRT三种调度算法时的平均周转时间和平均等待时间。

  时间片轮转调度算法:系统将所有就绪进程按FCFS的原则,排成一个队列依次调度,把 CPU 分配给队首进程,并令其执行一个时间片,通常为 10-100ms。时间片用完后,系统的计时器发出时钟中断,该进程将被剥

  若一个时间片尚未用完进程便已经完成,就立即再调度就绪队列中队首进程运行,并启动一个新的时间片。

  如果在一个时间片用完时进程尚未运行完毕,则剥夺CPU,调度程序把它送往就绪队列的末尾。

  例:一个分时 OS,10 个终端,时间片 100ms,每个用户的请求进程要 300ms 的时间处理,问终端用户提出二次请求的时间间隔最少是多少?

  解:响应时间= 100ms×10 = 1s,每个用户的请求要获得 3 个时间片才能处理完,要轮转 3 次,才能都处理完,所以终端用户的二次请求时间间隔最少应为 2.1∼3s。

  时间片轮转调度算法保证了就绪队列中的所有进程在给定的时间内,均能获得一个时间片来执行,即系统在给定的时间内,可以响应所有用户的请求。

  一个较为可取的时间片大小是,略大于一次典型的交互所需要的时间,使大多数交互式进程能在一个时间片内完成,从而可以获得很小的响应时间。

  一旦把处理机分配给就绪队列中优先级最高的进程后,该进程便一直执行下去直至完成,或者因该进程发生某事件而放弃处理机时,系统

  只要出现了另一个其优先级更高的进程,调度程序就将处理机分配给新到的优先级最高的进程。

  如果没有关于各个进程相对长度的任何信息,则可以用已经执行的时间进行衡量。

  根据作业的性质或类型,把就绪队列划分成若干个独立的队列,每个作业固定地分属一个队列。不同的队列可以采用不同的调度算法。

  是时间片轮转算法和优先级调度算法的综合和发展,通过动态调整进程优先级和时间片大小,不必事先估计进程的执行时间。

  多级反馈队列可兼顾多方面的系统目标,是目前公认的一种较好的进程调度算法。

  设置多个就绪队列,并为每个队列赋予不同的优先级。队列 1 的优先级最高,其余队列逐个降低。

  每个队列中进程执行时间片的大小各不相同,进程所在队列的优先级越高,其相应的时间片就越短。

  新进程进入系统时,先放入队列 1 的末尾,按FCFS等待调度。如能完成,便可准备撤离系统,反之由调度程序将其转入队列 2 的末尾,按 FCFS 再次等待调度,如此下去,最后进入队列 n 按RR算法调度执行。

  仅当队列 1 为空时,才调度队列 2 中的进程运行。若一个队列中的进程正执行,此时有新进程进入高级队列,则新进程抢占运行,原进程转移至本队列队尾。

  短作业优先处理。运行时间短的进程在经过前面几个队列之后便可以执行完毕。

  设备资源利用率高。I/O 繁忙类型的进程可能经常会由于所申请的资源被占用或启动了 I/O 传输的原因而进入等待状态。当进程得到所等待的资源或 I/O 传输完成时,它将进入第一级就绪队列,尽快获得处理机并使用

  以上介绍的调度算法只是保证一些进程(或作业)可以优先运行(如优先级算法) ,但是不能保证占用处理机的时间。另外也没有考虑调度的公平性。

  保证处理机分配的公平性。如果 n 个进程同时运行,公平的情况下每进程应该获得处理机时间的 1/n。

  计算每个进程应获得的处理机时间,即自创建以来的时间除以并发进程数 n。

  计算进程获得处理机时间的比率。即进程实际运行的时间(1)与应获得的处理机时间(2)之比。

  比较各进程获得处理机时间的比率。如进程 A 的比率为0.5,进程 B 的比率为 0.8,进程 C 的比率为 1.2。

  调度程序应选择比率最小的进程,将处理机分配给它,并让该进程一直运行,直到超过最接近它的进程比率为止。

  时间片轮转算法让每个进程轮流运行一个时间片,对进程很公平,但如果每个用户拥有的进程数不同,则可能对用户不公平。

  公平分享调度算法调度的公平性主要是针对用户而不是进程,目标是使所有用户能获得相同的处理机时间。

  例如,用户 1 有 4 个进程 A、B、C、D,用户 2 只有一个进程 X。为保证两个用户能获得相同的处理机时间,需要强制执行如下的调度顺序:

  一、前言处理机调度是操作系统至关重要的部分。二、处理机调度层次与目标1.处理机调度层次高级调度:执行对作业调度,决定将外存上处于后备队列中的作业调入内存。低级调度:进程调度(或内核级线程),决定就绪队...博文来自:Accept

  文章目录前言进程和进程调度1.引起进程调度的因素2.进程调度的任务3.进程调度机制4.进程调度方式5.进程调度的算法a.先来先服务调度算法b.短作业优先调度算法c.优先级调度算法d.多队列调度算法e....博文来自:Mmmmmmmi

  在多道程序环境中,内存中存在多个进程,数目往往多于处理机数目。这就要要求系统按照某种算法动态的将处理机分配给在就绪队列中等待的进程。  分配处理机的任务是由处理机调度程序完成的。处理机调度性能的好坏决...博文来自:Sherry_Wangnana的博客

  公平调度(fair-sharescheduling)的进程调度算法:一、公平分享的调度策略  Linux的调度算法是相对独立的一个模块,而且较容易理解。因此很多系统高手都爱对调度算法做改进。但是可以说...博文

  非抢占式(Nonpreemptive)  让进程运行直到结束或阻塞的调度方式 容易实现 适合专用系统,不适合通用系统  抢占式(Preemptive) 允许将逻辑上可继续运行的在运行过程暂停的调度方式...博文来自:斜阳雨陌

  我们在编码开发的时候,就是在跟进程打交道。不过,可能由于一些高级语言的封装,我们在开发的过程可能感觉不到我们的代码对进程的创建或调用过程。当然,这也不是本文的重点。但是,操作系统却不能不理会进程。下面...博文来自:大鱼

  本次实现的是模拟在单处理器情况下的处理器调度,目的是设计一个按优先数调度算法实现处理器调度的程序。内容(1)假定系统有五个进程,每一个进程用一个进程控制块PCB来代表,进程控制块的格式为:进程名——作...博文来自:IT_xiaoye的博客

  Description操作系统的一个重要功能是进行进程调度,其进程调度的算法有多种,其中最简单的调度算法是先来先服务(FCFS)算法。该算法的思想是:先进入就绪队列的先执行,后进入就绪队列的后执行,同...博文来自:zhagoodwell查的博客

  题目描述:一.实验目的和要求加深对进程概念和进程调度过程/算法的理解。本实验要求用高级语言编写和调试一个模拟动态优先权的进程调度算法程序。二、实验内容1.给出进程调度的算法描述(如基于动态优先级和时间...博文来自:自信的尘埃

  调度程序策略工作窃取WorkSharing工作共享调度程序CAF运行在本地映射N个参与者(actors)到M个线程.应用程序把任务分解成多个独立的步骤把多个参与者.这样按顺序执行在同一个参与者中相比总...博文来自:yjqpro的专栏

  模式切换  不等同于  进程上下文切换当进程调用系统调用或者发生中断时,CPU从用户模式(用户态)切换成内核模式(内核态),此时,无论是系统调用程序还是中断服务程序,都处于当前进程的上下文中,并没有发...博文来自:u010820757的博客

  我们由刚开始接触编程的一个程序说起。   上述一段代码,通过gcc编译,生成一个.o文件,运行,就能输出printf函数要输出的文字。那么,对于printf()函数这个调用,操作系统到底发生了什么? ...博文来自:iva_brother的博客

  实验内容:使用系统调用shmget(),shmat(),shmctl()编制一长度为1K的共享存储区发送和接收的程序。实验要求:(1)为便于操作和观察结果,用一个程序作为“引子”,先后FORK()两个...博文来自:cqwoniu的博客

  处理机调度是为了解决多个进程或线程争夺CPU的问题。在多道程序系统中,通常会有多个进程或线程同时竞争CPU,只要有两个及以上的进程或线程处于就绪状态就有可能出现这样的情况。当可用的CPU个数少于进程和...博文来自:OUT of memory

  分配处理机的任务是由处理机调度程序完成的。由于处理机是最重要的计算机资源,提高处理机的利用率及改善系统性能(吞吐量、响应时间),在很大程度上取决于处理机调度性能的好坏。3.1、处理机调度的基本概念3....博文

  在一个进程里,线程的调度有抢占式或者非抢占的模式。在抢占模式下,操作系统负责分配CPU时间给各个进程,一旦当前的进程使用完分配给自己的CPU时间,操作系统将决定下一个占用CPU时间的是哪一个线程。因此...博文来自:愿你出走半生,归来仍是少年

  一、处理机调度相关基本概念1、调度方式和调度算法的若干准则1)面向用户的准则:周转时间短(CPU执行用时Ts、周转时间T=Ts+Tw、带权周转时间W=T/Ts)、响应时间快、均衡性、截止时间的保证、优...博文来自:zh13487的博客

  操作系统引论操作系统是配置在计算机硬件上的第一层软件,是对硬件系统的第一次扩充。其主要功能为管理计算机设备,提高他们的利用率和系统吞吐量,并为用户和应用程序提供简单的接口,便于用户使用。OS是现代计算...博文来自:知识必具有个性,才配说是自己的~

  操作系统操作系统概述操作系统作用存储管理处理机管理设备管理文件管理用户接口操作系统的定义是管理和控制计算机系统中各种硬件和软件资源、合理地组织计算机工作流程的系统软件,是用户与计算机之间的接口。多道批...博文来自:loserChen的博客

  下面我们来介绍一下操作系统的定义及作用那么操作系统是什么?怎样理解它的作用?操作系统是什么呢?操作系统是计算机系统中的一个系统软件这个系统软件呢是一些程序模块儿的结合这些程序模块相互协作、相互配合来完...博文来自:li12412414的博客

  1操作系统的作用对于一个程序而言,它为了保障自己的程序运行流畅,势必就会要求自己分配到的资源越多越好,但是计算机的资源总是有限的,大家都自顾自抢资源的话,要么就是大家一起跑不动,要么就是某几个程序把别...博文来自:秋叶原 && Mike 麦克

  是什么1.管态又叫特权态,系统态或核心态。CPU在管态下可以执行指令系统的全集。通常,操作系统在管态下运行。2.目态又叫常态或用户态。机器处于目态时,程序只能执行非特权指令。特点1.用户态不能直接使用...博文来自:尚衍亮

  各位老大,今天友人向我提出了这个问题,引起了我很多的思考。接触计算机也有几年的时间, 可是,对于操作系统的认识还处于等于0的状态。 什么是操作系统?操作系统主要起到什么作用?什么win95、98、20论坛

  1.操作系统(OperatingSystem,简称OS)是一管理电脑硬件与软件资源的程序,同时也是计算机系统的内核与基石。操作系统是一个庞大的管理控制程序,大致包括5个方面的管理功能:进程与处理机管理...博文来自:tianyucad123的博客

  先来先服务调度算法:先来先服务(FCFS)调度算法是一种最简单的调度算法,该算法既可用于作业调度,也可用于进程调度。当在作业调度中采用该算法时,每次调度都是从后备作业队列中选择一个或多个最先进入该队列...博文来自:张花生的博客

  一、先来先服务和短作业(进程)优先调度算法1.先来先服务调度算法先来先服务(FCFS)调度算法是一种最简单的调度算法,该算法既可用于作业调度,也可用于进程调度。当在作业调度中采用该算法时,每次调度都是...博文来自:wujiafei_njgcxy的博客

  这是我关于操作系统调度算法的一些分享。算法一:先来先服务算法实现代码:#includelt;stdio.hgt;floatt,d;/*定义两个全局变量*/struct/*定义一个结...博文来自:一名小白

本文链接:http://jomsell.com/duojifankui/87.html