进程调度
进程优先级
- 系统进程 > 用户进程。
- 交互型进程 > 非交互型进程。
- I/O型进程 > 计算型进程。
调度程序
中级调度使用的方案称为交换,为了改善进程组合,或者由于内存需求改变导致过度使用内存从而需要释放内存,就有必要使用交换。
上下文切换
切换CPU到另外一个进程需要保存当前进程状态和恢复另一个进程状态,这个任务称为上下文切换。当进行上下文切换时,内核会将旧进程状态保存在其PCB中,然后加载经调度而要执行的新进程的上下文。
如果处理器提供了多个寄存器组,上下文切换只需简单改变当前寄存器组的指针。当然,如果活动进程数量超过寄存器的组数,那么系统需要像以前一样在寄存器与内存之间进行数据复制。
实现临界区互斥的基本方法
软件方法
方法 | 不能实现 | 优点 | 缺点 |
---|---|---|---|
单标志法 | 空闲让进 | - | 造成资源利用不充分 |
双标志先检查 | 忙则等待 | 不用交替进入,可连续使用 | - |
双标志后检查法 | 空闲让进 | - | 互相“谦让”,可能造成饥饿 |
Peterson | 让权等待 | - |