欢迎来到天天文库
浏览记录
ID:20762036
大小:106.50 KB
页数:7页
时间:2018-10-15
《计算机操作系统小论文-linux进程调度》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、Linux进程调度一、概述自1991年Linux操作系统出现以来,Linux操作系统以令人惊异的速度迅速在服务器和桌面系统中获得了成功。它已经被业界认为是未来最有前途的操作系统之一,并且在嵌入式领域,由于Limix操作系统具有开放源代码、良好的可移植性、丰富的代码资源以及异常的健壮,使得它获得越来越多的关注。[1]本文分析丫Linux操作系统屮几种常用的调度算法。二、高级、中级和低级调度在操作系统中,存在很多种调度,如用户提交作业的调度、运行进程的调度、I/O请求的调度、存储空间切换的调度等。在不同的操作系统中所采用的调度方式不完全相同,在执行调度时所采用的调度算法也可能不同。因
2、此,可从不同的角度对调度进行分类。常用的一种分类方法是按调度的层次,把调度分为高级调度、屮级调度和低级调度。(1)高级调度高级调度通常也称作业调度,用于决定把外存上处于后备队列中的哪些作业调入内存,准备执行。系统接纳一个作业后,将它变为一个或者多个进程,为它们分配除了处理机之外的必要的系统资源后,将其排入就绪队列,准备执行。值得注意的是,在批处理系统屮,作业进入系统后,是先驻留在外存上的,因此,需要有作业调度,以将它们分批装入内存;在分时系统中,为了能及吋响应,用户通过键盘输入的命令或数据等,都是直接送入内存,因而无须配置作业调度;类似地,在实时系统中,通常也不需要作业调度。(2
3、)中级调度屮级调度大多针对于分时系统,是按一定的算法在内存和外存之间进行进程对换,0的在于缓和内存的紧张。为此,应使那些暂时不具备执行条件的进程不再占用宝贵的内存空间,将它们挂起并调至外存上等待,称此时进程的状态为挂起状态。当这些进程重新又具备执行条件,且内存已空闲时,再由中级调度决定,将外存上哪些已具备执行条件的进程解除挂起后重新调入内存,排在进程就绪队列上,等待进程调度。由此可见,中级调度实质上是决定允许哪些进程有资格参与竞争处理机资源。中级调度实施的方法是“挂起”和“解除挂起”进程,将进程的程序和数据在内存与外存间进行对换,以达到短期调整系统负荷的作用。所以中级调度也常称为
4、进程对换。屮级调度实际上就是存储器管理屮的进程对换功能。(1)低级调度低级调度就是指进程调度,它决定就绪队列中的哪个进程可以获得处理机。被低级调度选中的进程将实际获得处理机,并可立即在处理机上执行它的程序。在以进程为单位的操作系统屮,进程调度是最基本的调度,在3种基本类型的操作系统中,都必须配置低级调度。三、进程调度的方式进程调度通常有以下两种方式。(1)非剥夺方式非剥夺方式也称非抢占方式。采用这种调度方式时,一旦把处理机分配给某个进程后,便让该进程一直执行,直至该进程完成或发生某事件而被阻塞时,才把处理机分配给其他进程,决不允许其他进程强占己分配出去的处理机。这种调度方式的优点
5、是实现简单、系统开销小,适用于大多数的批处理系统环境。但它难以满足紧急任务的要求一一立即执行,因而可能造成难以预料的后果。显然,在要求比较严格的实时系统中,不宜采用这种调度方式。(2)剥夺方式剥夺方式也称抢占方式,其含义是根据某种原则,强行剥夺现行进程正在使用的处理机,并把处理机分配给其他进程。剥夺原则如下所述。①优先级原则。通常对一些重耍和紧急的进程,赋予较高的优先级。优先级高的进程可以剥夺优先级低的进程而执行。②短进程优先原则。当到达的进程比正在执行的进程明显短时,将剥夺长进程的执行而优先执行短进程。③时间片原则。每个进程被分配给一个同样的时间片,时间片用完后重新进行处理机调
6、度。①强制性剥夺。极重要的进程或人工干预,强制引起处理机调度。四、进程调度算法在Linux操作系统中,有五种常用的进程调度算法:先来先服务(FCFS)调度算法、短进程优先(SPF)调度算法、高优先级优先(HPF)调度算法、时间片轮转法(RR)以及多级反馈队列调度算法。1.先来先服务(FCFS)调度算法在进程调度中,采用FCFS调度算法时,进程调度程序从就绪进程队列中,选择一个最先进入队列的进程,把CPU分配给它,让它进入执行状态。该进程一直执行,直到进程完成或因等待某事件发生阻塞时,才放弃CPU。为了实现FCFS调度算法,系统只要按先进先出(FIFO)规则建立进程就绪队列即可,也
7、就是进程控制块入队时加在队列末尾,调度出队时从队列首开始顺序扫描,将相关的PCB调度移出相应队列。FCFS调度算法具有一定的公平性,并且实现也比较容易,这是它的优点。但是,它的缺点是实际上不公平,它比较有利于长进程,而不利于短进程。因为对于那些执行吋间较短的进程来说,如果它们在某些执行时间很长的进程开始执行之后到达,则短进程将等待很讼的时间。在实际操作系统中,尽管很少单独使用FCFS算法,但FCFS算法可以和其他一些算法配合起来使用。2.短进程优先(SPF)调度算法短进程优先(S
此文档下载收益归作者所有