1.1 调度器
CPU 只有一个,当有多个进程都是处于就绪态的时候,操作系统就必须做出决定先运行哪一个进程,操作系统做出决定的那一部分称为调度器,它使用的算法称为调度算法
进程调度和线程调度类似
1.2 调度介绍
1、几乎所有进程都会交替地突发 I/O 请求
2、有些进程大部分时间花费在运算上称为:计算密集型
3、有些进程大部分时间花费在等待 I/O 操作上称为:I/O 密集型
4、由于现代的发展,CPU 的速度越来越快,所以总体趋势趋向于 I/O 密集型
5、什么时候会发生调度?
当然,刚刚运行的进程完不会立刻就绪
下面2中必定发生调度
1、当一个进程退出时
2、当一个进程在 I/O 或 信号量上阻塞时
还有下面3种可能不是必定发生,当会经常发生
1、当一个新进程被创建
2、当一个 I/O 中断发生
3、当一个时钟中断发生
时钟中断
时钟中断提供了一个判断当前运行进程是否运行了足够长的时间,根据处理时钟中断的方式可以把调度算法分为:非抢占式调度算法 和 抢占式调度算法
非抢占式调度算法:挑一个进程运行,一直到该进程阻塞或自愿退出