调度的三个层次
高级调度(作业调度):操作系统调入作业,把作业从外存调入内存,建立相应的PCB,作业运行结束才调出,只发生一次
中级调度(内存调度):引入虚拟存储技术,将暂时不能运行的进程调至外存等待,等时间再调入内存,进程状态为挂起状态,PCB还是常驻内存
可能会发生多次
低级调度(进程调度):在就绪队列中选取一个进程,发生频率很高

进程还有两个状态:
就绪挂起和阻塞挂起,就绪态或阻塞态都能被挂起再激活,处于挂起状态的进程映像是在外存的

 

不能进行切换的情况:
1.在处理中断的过程中
2.进程在内核临界区中
3.在原子操作过程中

临界资源:一个时间段只允许一个进程使用的资源,各进程要互斥访问
临界区:访问临界资源的代码,普通临界区不影响内核管理工作的,可以进行切换调度
内核临界区:访问某种内核数据结构,比如就绪队列,访问的时候会进行上锁,因此不能调度切换

进程调度方式:
1.非抢占式,进程主动放弃的才切换
2.抢占式,使用时间片轮转,抢占调度,分时操作系统/实时操作系统