评判指标
响应时间小(点了就有反应)
周转时间(尽快完成任务)
吞吐量(系统内耗小)
吞吐量与响应时间有矛盾:响应时间小则切换次数多则系统内耗大则吞吐量小
前台任务与后台任务关注点也不同:前台任务关注响应时间(如word输入了几秒才看到屏幕出现字显然不合理),后台任务关注周转时间(比如编译一段简单的程序很久才编译完也不合理)。
CPU约束型任务:很长时间没有IO(比如Gcc,matlab算矩阵)
I/O约束型任务:I/O很多,往往是前台任务。
折中时应该让IO约束型任务有更高的优先级,IO任务经常需要等待,这个时候就可以切出去执行CPU约束任务,反之CPU约束型任务一执行就不出来IO约束型任务就很尴尬了。
进程调度方式
调度方式分为抢占式和非抢占式
非抢占式一旦把CPU分配给某个进程后就会让它一直运行下去,直到运行完毕或者因为某种事件(不包括时钟中断)被阻塞才会把处理器分配给别的进程。此种方式可能引起进程调度的因素大致有:
1.执行完毕 2. IO请求 3 进程通信或者同步过程中执行了某种原语操作。
此种调度实现简单,系统开销小,适用于大多数批处理系统环境,但是难以满足实时性要求。
抢占式允许调度程序根据某种原则暂停某一个正在执行