操作系统论文-处理机调度技术探讨_第1页
操作系统论文-处理机调度技术探讨_第2页
操作系统论文-处理机调度技术探讨_第3页
操作系统论文-处理机调度技术探讨_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

处理机调度技术探讨转眼间《计算机操作系统》这门课程已经结束了,通过这门课的学习,我的处理机的调度技术有了一定的了解。处理机调度算法对整个计算机系统的综合性能指标有重要影响。一、处理机调度的三个层次可把处理机调度分成三个层次:高级调度、中级调度、低级调度。由于处理机调度程序不可能选择全部驻留在外存的进程,因此,在调度一个进程占有处理机之前,系统必须按某种策略把外存中处于后备状态的作业选择出来,并创建进程和分配内存,为进程执行准备必需的资源。这一步称为作业调度或高级调度。除了作业调度之外,还有一种称为交换调度的中级调度。在有的系统中,把那些处于等待状态或就绪状态的进程换出内存,而把那些等待事件已经发生或已在外存交换区中等待了较长时间的进程换入内存。只有在进程被建立起来并且已获得足够的资源之后,系统才使用进程调度策略把处理机分配给选出进程。因此,处理机的调度涉及到三个层次的调度。进程调度的主要任务是选择一个合适的进程占据处理机。根据系统的要求不一样进程调度方法变化较大。比较常用的有RR(轮转)法、FCFS(先来先服务)法、优先级法和SRR(线性优先级)法等。其中轮转法主要用于分时系统,它具有较好的响应时间,且对每个进程来说都具有较好的公平性。FCFS法不利于执行时间短的进程,而SRR法则是介于FCFS法和RR法之间的一种进程调度方法。二、处理机调度的功能一般情况下,当占用处理机的进程因为某种请求得不到满足而不得不放弃CPU进入等待状态时,或者当时间片到,系统不得不将CPU分配给就绪队列中另一进程的时候,都要引起处理机调度。除此之外,进程正常结束、中断处理等也可能引起处理机的调度。因此,处理机调度是操作系统核心的重要组成部分,它的主要功能如下:(1)记住进程的状态,如进程名称、指令计数器、程序状态寄存器以及所有通用寄存器等现场信息,将这些信息记录在相应的进程控制块中。(2)根据一定的算法,决定哪个进程能获得处理机,以及占用多长时间。(3)收回处理机,即正在执行的进程因为时间片用完或因为某种原因不能再执行的时候,保存该进程的现场,并收回处理机。处理机调度的功能中,很重要的一项就是根据一定算法,从就绪队列中选出一个进程占用CPU运行。可见,算法是处理机调度的关键。三、处理机调度算法(1)先来先服调度算法(FIFO)这是最简单的处理机调度算法,其基本思想是按照进程进入就绪队列的先后顺序调度并分配处理机执行。先来先服务调度算法是一种不可抢占的算法,先进入就绪队列的进程,先分配处理机运行。一旦一个进程占有了处理机,它就一直运行下去,直到该进程完成工作或者因为等待某事件发生而不能继续运行时才释放处理机。从表面上看,FIFO算法对所有作业都是公平的,并且一个作业的等待时间是可能预先估计的。但实际上这种算法是不利于小作业的,因为当一个大作业先进入就绪队列时,就会使其后的许多小作业等待很长的时间。这对小作业来说,等待时间可能要远远超出它运行的时间。先来先服算法简单,易于程序实现,但它性能较差,在实际运行的操作系统中,很少单独使用,它常常配合其他调度算法一起使用。(2)时间片轮转调度算法(RR)时间片轮转调度算法的基本思想是:对就绪队列中的每一进程分配一个时间片,时间片的长度q一般从10ms-1100ms不等。把就绪队列看成是一个环状结构,调度程序按时间片长度q轮流调度就绪队列中的每一进程,使每一进程都有机会获得相同长度的时间占用处理机运行。时间片轮转调度算法在分时系统中,是一种既简单又有效的调度策略。一个分时系统有许多终端。终端用户在各自的终端设备上同时使用计算机。如果某个终端用户的程序长时间地占用处理机,那么其他终端用户的请求就不能得到即时相应。一般说来,终端用户提出请求后,能在几秒钟内得到响应也就感到满意了。采用时间片轮转算法,可以使系统即时地相应各终端用户的请求。时间片轮转调度算法的性能极大的依赖于时间片长度q的取值,如果时间片过大。则RR算法就退化为FIFO算法了;反之,如果时间片过小,那么,处理机在各进程之间频繁转接,处理机时间开销变得很大,而提供给用户程序的时间将大大减少。(3)优先级法优先数法的基本思想是:对就绪队列中的每个进程,首先按某种原则定义一个优先数来表示它,处理机调度时,每次选择就绪队列中优先数最大者(也可规定优先数愈小,其优先权愈高),让它占用处理机运行。确定优先数一般可以有以下几种考虑:频繁使用外部输入、输出设备的进程优先数大。这样有利于提高CPU使用效率;重要程序的进程优先数大,怎样有利于用户灵活操作;进入计算机系统时间长的进程优先数大,这样有利于缩短作业的完成时间;交互式用户作业进程优先数大,这样有利于提高中断响应时间。优先数的设置可以采用静态和动态两种方式。静态设置方式就是指系统在建立一个进程时,就按照某种原则为进程制定一个优先数,这个优先数在进程存在期间一直保持不变。而动态设置方式是指系统在进程存在期间经常改变进程的优先数,如何动态的改变进程的优先数,依赖于具体操作系统的设计目标。四、处理机调度模型:1、仅有进程调度的调度队列模型在分时系统中通常仅设置了进程调度。此时系统有一个就绪队列,每个进程运行一个时间片,进程运行一个时间片后如未完成,则被放在就绪队列末尾。如进程运行中因等待某事件(例如申请I/O而等待I/O完成),则需排入阻塞队列,系统因阻塞的原因不同可设几个阻塞队列。2、有进程调度和中级调度队列模型在具有虚拟存储器技术的分时系统中(例如UNIX系统等),一般采用具有进程调度和中级调度的调度模型。在该模型中比第一种模型增加了中级调度,也增加了外存进程就绪队列和外存进程阻塞队列。中级调度时或从内存就绪队列调到外存的就绪队列,或从内存阻塞队列调到外存阻塞队列,或从外存进程就绪队列调到内存就绪队列。3、具有高级调度和低级调度的调度队列模型在多道批处理系统中,一般处理机管理设置作业和进程两级调度。它比第一个模型增加了高级调度。模型增加了在磁盘的作业后备队列,作业调度的任务是从作业后备队列中选一个作业为它创建至少一个进程,并分配资源,将它排入内存进程就绪队列末尾。4、同时具有三级调度的调度队列模型在通用系统的多模式OS中,一般采用具有三级调度的调度队列模型,由于多模式OS同时支持批处理、分时和实时处理,所以它必须具有以上模型,具有三级调度的调度队列模型是第二、三两模型的综合五、思考总结:高级调度的主要功能是根据一定的算法,从输入的一批作业中选出若干个作业,分配必要的资源,如内存、外设等,为它建立相应的用户作业进程和为其服务的系统进程(如输入、输出进程),最后把它们的程序和数据调入内存,等待进程调度程序对其执行调度,并在作业完成后作善后处理工作。低级调度的主要功能是根据一定的算法将CPU分派给就绪队列中的一个进程。为了使内存中同时存放的进程数目不至于太多,有时就需要把某些进程从内存中移到外存上,以减少多道程序的数目,为此设立了中级调度。进程只有在得到CPU之后才能真正活动起来,所有就绪进程经由进程调度才能获得CPU的控制权;实际上,进程调度完成一台物理的CPU转变成多台虚拟(或逻辑)的CPU的工作;进程调度的实现策略往往决定了操作系统的类型,其算法优劣直接影响整个系统的性能。可能很多,无法把它们都

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论