`
xitongyunwei
  • 浏览: 927507 次
文章分类
社区版块
存档分类
最新评论

进程调度及调度策略

 
阅读更多
进程调度负责动态的将CPU分配给各个进程。主要功能如下:
(1)记住进程状态。
(2)决定哪个进程,什么时候获取CPU及其占用多长时间。
(3)把CPU分配给进程,即将选中进程的PCB中有关进程的相关信息,如程序状态寄存器、通用寄存器等内容送入CPU的相应的寄存器中,从而让该进程占用CPU去运行。
(4)收回CPU。
启动进程调度程序的各种时机
(1)在一次外部中断之后,该中断改变了某个进程的状态。
(2)在一次信息调用之后,而该调用使现行进程暂时不能继续运行。
(3)在一次错误处理之后,使现行进程在错误处理时被封锁。

调度策略
(1)分时系统调用策略
在分时系统中为了提高对交互作用的响应速度,使各进程在较短时间间隔内都有机会占用CPU,则需要比较频繁地对CPU进行调度。这种调度方式增加了系统的开销,降低了CPU实际使用效率。 如:为了保证及时响应,采用轮转算法分配CPU,即以循环方式依次给每个用户服务请求一个时间片,这也是“分时”的由来。这样做的作用是防止用户计算时间长的任务时垄断CPU,妨碍对其他用户服务请求的响应。使用平均的是使用CPU,但这时如果时间片过大,相应的平均响应时间增长;若时间片过短,则会增大个服务请求循环排队的次数,因而也会增加平均响应时间,而且由于频繁切换,系统开销也增大了。因此,考虑到系统分时的主要目的。 应在满足某种交互作用的响应速度前提下提高系统资源的使用效率。
(2)批处理系统调度策略
1.先来先服务算法:
先来先服务算法体现用户公平。调度策略按照优先数分配CPU。优先数按照所有进程来到的时间戳确定。它优先考虑在系统中等待时间最长的线程,而不管该进程运行时间的长短。这种算法一般是非抢占式调度算法,也就是说,进程 一旦分配CPU,就直至运行结束。
2.最短作业优先调度算法:
这种算法总是优先调度要求运行时间最短的进程作为下一次服务的对象。它可以达到系统最大吞吐量。它的主要缺点是只照顾短进程。因此有可能一个进程进入系统后,由于不断有比它更短的进程进入系统而使该进程一直得不到时机运行。
3.响应比高者优先调度算法:
这种算法每次调度时,计算后备进度表中各进程的响应比,然后挑选响应比最高者投入运行。因此在系统中的进程只要等待足够长的时间就有机会运行。该算法考虑到等待时间又兼顾了短作业进程优先,是上述两种算法的折中。缺点是算法比较复杂,每次调度都要计算一次后备进程队列中各个进程的响应比。
(3)实时系统调度策略
对于实时系统要求CPU能及时响应,它主要用于实现特定的控制和服务功能。为每一个进程设置一个优先数,CPU调度时每次选择就绪进程中优先数最大者,让它占用CPU运行。
(4)通用系统调度策略
1.优先数算法。
2.轮转发。
3.时间片可变轮转发与多队列轮转法。
分享到:
评论

相关推荐

    Linux进程调度策略分析

    Linux进程调度Linux进程调度策略分析策略分析,

    linux进程调度策略

    对linux进程调度策略讲解的很浅显易懂,实时进程,普通进程的调度,区别,优先级,调度的公平性,调度的时机,内核抢占,中断

    LINUX内核的进程调度策略.doc

    简短的LINUX内核的进程调度策略分析,内容包括调度时机、调度方式、调度策略。

    linux系统进程调度策略

    描述在linux系统下的进程如何调度,详细的描述进程的调度机制。

    进程的优先级与调度策略—Linux

    调度策略2.1 进程的抢占2.2 调度算法2.3 O(1)调度2.4 调度模型——机制与策略分离2.5 完全公平调度——CFS2.6 调度器总结 1.概述 进程调度中的所谓调度就是从就绪队列中选择一个进程投入CPU运行,则调度的主战场就是...

    Linux的进程调度策略.pdf

    Linux的进程调度策略.pdf

    Linux 2.6内核进程调度策略与算法分析.pdf

    Linux 2.6内核进程调度策略与算法分析.pdf

    操作系统实验三 进程调度算法实验

    加深对进程调度概念的理解,体验进程调度机制的功能,了解Linux系统中进程调度策略的使用方法。 练习进程调度算法的编程和调试技术。三种调度方法:  1,SCHED_OTHER 分时调度策略,  2,SCHED_FIFO实时调度策略,...

    LINUX2.6内核进程调度策略分析.pdf

    LINUX2.6内核进程调度策略分析.pdf

    Linux2.6进程调度策略分析.pdf

    Linux2.6进程调度策略分析.pdf

    进程调度实验报告

    来先服务FCFS进程调度算法实验报告。通过这次实验,加深对进程概念的理解,进一步掌握进程状态的转变、进程调度的策略及对系统性能的评价方法。

    操作系统可视化课程设计---进程调度.pdf

    采用c++语言编写的模拟进程调度的一个小程序,与传统的调度算法相比具有可视化的功能。适合c++与操作系统学习者下载。

    用时间片轮转法调度虚拟进程

    编写一个程序,可以创建若干个虚拟进程,并对若干个虚拟进程进行调度,调度策略为时间片轮转法,主要任务包括:  进程的个数,进程的内容(即进程的功能序列)来源于一个进程序列描述文件,另外调度运行结果输出到...

    进程调度算法实验

    设有两个并发执行的父子进程,不断循环输出各自进程号、优先数和调度策略。进程初始调度策略均为系统默认策略和默认优先级。当父进程收到SIGINT信号时会自动将其优先数加 1,子进程收到SIGTSTP信号时会自动将其优先数...

    操作系统-进程调度.doc

    " "学号 " "姓名 " " "课程名称 "计算机操作系统 "实验日期 "2015/10/11 " "实验名称 "进程调度模拟算法 "成绩 " " "实验目的: " "过本次实验,加深对进程概念的理解,进一步掌握进程状态的转变及进程调度策略" ...

    进程调度算法设计与实现

    在进程管理中,进程调度是核心,因为在采用多道程序设计的系统中,往往有若干个进程同时处于就绪状态,当就绪进程个数大于处理器数目时,就必须依照某种策略决定哪些进程优先占用处理器。本实验模拟在单处理器情况下...

    浅析windows进程调度

    这个是自己做的windows操作系统的小论文,写的很认真的,希望那些对代码不感兴趣的人可以用写小论文的方式来解决OS的课程,这个只是自己的小论文,所以其中的内容只是浅析一下进程的调度,感兴趣的来看看了,给个...

    进程调度算法和银行家算法

    调度的实质是操作系统按照某种特定的分配策略来分配资源。进程调度的目的是分配 CPU 资源。

    时间片轮转算法的进程调度程序

    设计目的:在多道程序和多任务系统中,系统内同时处于就绪状态的进程可能有若干个,且进程之间也存在着同步与互斥的关系,要求采用指定的调度策略,使系统中的进程有条不紊地工作,通过观察诸进程的运行过程,以巩固...

Global site tag (gtag.js) - Google Analytics