论述题 1.  轮询任务调度和可抢占式调度有什么区别?
【正确答案】在多任务系统中,在同一时刻通常会有多个任务处于活动状态,操作系统此时就需要对资源进行管理,在任务间实现资源(CPU、内存等)的共享。任务调度是指基于给定时间点、给定时间间隔或者给定执行次数自动执行任务。轮询任务调度与抢占式任务调度的区别在于抢占式调度中优先级高的任务可以抢占CPU,而轮询的不能。
   具体而言,轮询调度的原理是每一次把来自用户的请求轮流分配给内部服务器,从1开始,直到N(内部服务器个数),然后重新开始循环。只有在当前任务主动放弃CPU控制权的情况下(比如任务挂起),才允许其他任务(包括高优先级的任务)控制CPU。其优点是简洁性,它无须记录当前所有连接的状态,所以,它是一种无状态调度,但缺点是不利于后面的请求及时得到响应。抢占式调度允许高优先级的任务打断当前执行的任务,抢占CPU的控制权。这有利于后面的高优先级的任务也能及时得到响应。但实现相对较复杂,并且可能出现低优先级的任务长期得不到调度。
【答案解析】