多道程序设计的目的:无论何时都有进程在运行,从而使CPU利用率达到最大化
分时系统的目的:在进程之间快速切换CPU以便用户在程序运行时能与其进行交互。
作业队列:进程进入系统时,包括系统中的所有进程
就绪队列:驻留在系统内存中的就绪的、等待运行的进程
设备队列:等到特定I/O设备的进程列表
进程调度队列图:
就绪队列————————————>CPU——————>|
|<---I/O<——I/O队列<——I/O请求<—————-|
|—————————————时间片结束<———|
|<——————子进程运行<——创建子进程<——|
|<——————中断发生<————等待中断<——|
上下文切换:将CPU切换到另一个进程需要保存current 进程state并恢复另一个进程的状态。发生context switch时,内核会将旧进程的状态保存在PCB中,然后装入经调度要执行的并已保存的新的进程上下文。