进程调度的方式CPU scheduling decisionsmaytakeplace whenaprocess:1.Switchesfromrunningtowaitingstate,e.g.,I/Orequestwait foran eventto occur(childcompletion,systemobject:semaphore,messagequeue,socket...)2.Switchesfrom runningto readystate,e.g.,interrupt3.Switchesfromwaitingtoready4.Terminates.Schedulingunder 1and4isnonpreemptive.(非抢占)Allotherschedulingispreemptive.(抢占)
进程调度的方式 CPU scheduling decisions may take place when a process: 1. Switches from running to waiting state, e. g., I/O request, wait for an event to occur(child completion,system object: semaphore,message queue, socket .) 2. Switches from running to ready state,e.g., interrupt 3. Switches from waiting to ready. 4. Terminates. Scheduling under 1 and 4 is nonpreemptive.(非抢占) All other scheduling is preemptive.(抢占)
进程调度方式(续)非抢占调度方式(nonpreemptive)一实现简单,系统开销小,适用于批处理系统环境一难于满足紧近任务立即执行的要求,实时系统中不宜采用抢占调度方式(preemptive)一适用于分时系统和实时系统一调度方式的原则·时间片原则优先级原则短进程优先原则
进程调度方式(续) 非抢占调度方式(nonpreemptive) − 实现简单,系统开销小,适用于批处理系统环境 − 难于满足紧近任务立即执行的要求,实时系统中不 宜采用 抢占调度方式(preemptive) − 适用于分时系统和实时系统 − 调度方式的原则 • 时间片原则 • 优先级原则 • 短进程优先原则