- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* 系统的处理能力是必须保证用户键入的常用命令能在一个时间片内处理完毕,否则将无法保证得到满意的响应时间,而且会使平均周转时间及带权周转时间都很长。 * 受CPU限制( processor-bound)进程执行完一个时间片后,立即返回就绪队列。充分利用时间片。而受I/O限制( I/O- bound)进程只使用很少的CPU时间(时间片未用完),就被阻塞,等待I/O操作完成,然后加入就绪队列。体现出不公平的使用处理机时间. * 增加一个辅助队列,接收I/O阻塞完成的进程,调度优先于就绪队列,但占用的处理机时间等于基本时间片长减去上次运行的部分时间片。 * 在时间片轮转法中,就绪进程按照先来先服务的原则排队,每个进程轮流地运行大小相等的时间片,对短作业和I/O操作较高的作业是不利的。如果有紧急进程进入就绪队列,并不能得到及时响应。 2、 多级反馈队列调度算法 多级反馈队列调度算法,事先不必知道各种进程所需的执行时间,而且还可以满足各种类型进程的需要,因而是目前公认的较好的调度算法。 * 即使给较低的优先级分配较长的时间,长进程仍然有可能被饿死。一种可能的补救方法是当一个进程在它的当前队列中等待服务的时间超过一定的时间量后,把它提升到一个优先级较高的队列中。 * 线性优先级调度算法是介于FCFS方式和轮转法之间的一种调度策略。采用时间片轮转法调度进程时,SRR方式把新创建的进程按FCFS方式排成就绪队列,而其它已得过时间片服务的进程也按FCFS方式排成另一个就绪队列或称享受服务队列。 * ba0,两个不同队列中的就绪进程的优先级将永远不会相等,从而享受服务进程队列只有一个进程。 ab=0,新进程一创建即进入享受服务进程队列,退回到轮转法调度。 * 实时系统中存在着几个实时任务,由它们来反映或控制外部事件,带有某种程度的紧迫性。一个实时系统是指计算的正确性不仅取决于程序的逻辑正确性,也取决于结果产生的时间 。 * 所有任务的处理机利用率之和不超过1. * 基于任务的优先权,确定优先权的不同而形成以下几种实时调度算法。 根据任务的开始截止时间来确定任务的优先级。系统中保持一个实时任务就绪队列,按各任务截止时间的早晚排序,具有最早截止时间的任务排在队伍的最前面。调度程序选择就绪队列中的第一个任务,为之分配处理机,使之投入运行。 * * * 系统中保持一个按松弛度排序的就绪队列,松弛度最低的任务排在队列最前面。 调度程序选择就绪队列中的第一个任务,为之分配处理机,使之投入运行。 * 这四项就是调度程序选择进程的依据 * 这四项就是调度程序选择进程的依据 * 这四项就是调度程序选择进程的依据 任何时刻一个处理机仅能执行一个进程,而可能不止一个进程处于TASK_RUNNING 状态。TASK_RUNNING 并不意味着该进程可以立即获得CPU(虽然有时候是这样),而是仅仅说明只要CPU 一旦可用,进程就可以立即准备执行了。 * Linux 在通过goodness 函数计算衡量一个处于可运行状态的进程值得运行的程度。该函 数综合了上面提到的四项依据: Linux 调度程序schedule 通过操作可运行队列进行进程的调度。它的调度算法很简单: 遍历可运行队列,从中选择一个权值最大的进程;如果可运行队列中所有进程的时间片都用 完了,则给系统中所有进程的时间片(Linux 的设计者将一个时间片定为10ms)重新赋值。 * 对象的组成结构:对象头和对象体 * Windows内核的优先数与Win32 API 存在关系。 Windows定义了6个优先级类别,相应的值以从高到低的顺序显示如下: REALTIME_PRIORITY_CLASS HIGH_PRIORITY_CLASS ABOVE_NORMAL_PRIORITY_CLASS NORMAL_PRIORITY_CLASS BELOW_NORMAL_PRIORITY_CLASS IDLE_PRIORITY_CLASS 在默认情况下,程序的优先级类别为NORMAL_PRIORITY_CLASS。通常,您不需要改变程序的优先级类别。 进程一般为Normal-Priority类,除非其父进程为idle-priority或进程在创建时被指定某一类。 当线程的时间配额使用完后,线程被中断,若线程为可变优先数线程,其优先数降低,但不会低于其基本优先数。当等待线程被唤醒时,提升其优先数。提升值与等待原因有关。 * 我们先看看这样一个生活中的例子:在一条河上有一座桥,桥面较窄,只能容纳一辆汽车通过,无法让两辆汽车并行。如果有两辆汽车A和B分别由桥的两端驶上该桥,则对于A车来说,它走过桥面左面的一段路(即占有了桥的一部分资源),要想过桥还须等待B车让出右边的桥面,此时A车不能前
文档评论(0)