进程的通信方式 调度方式
进程的通信方式有哪些?
进程的调度方式有哪些?
处理机调度:
通常内存中存在的进程数大于cpu的核数(处理机的数目),就需要按照某种算法,将处理机分配给处于就绪状态的一个进程。
调度的层次:
高级调度:也叫作业调度。调度的对象是作业。决定将外存的哪些作业调入内存,为他们创建进程、分配资源,将它们放入就绪队列。
低级调度:也叫进程调度。调度的对象是进程(或内核线程)。决定就绪队列中的哪个进程获得处理机。
中级调度:也叫内存调度。实际上就是存储器管理中的对换功能。将暂时不能运行的进程,调至外存等待。将外存中具备运行条件的进程重新调用内存,设置状态为就绪状态,放在就绪队列中。
调度的目标:
资源利用率: 提高CPU的利用率, CPU有效工作时间与(cpu有效工作时间+cpu空闲等待时间)
公平性: 不会出现进程饥饿现象。
作业与作业调度:
进程调度:
进程调度的任务:保存处理机的现场信息; 按某种算法选取进程; 把处理器分配给进程;
进程调度方式:
非抢占方式 : 把处理机分配给某进程后,就一直让它运行下去,直至完成。或者发生阻塞时(比如 I/O操作引起的阻塞,或者执行了block阻塞原语),才把处理机分配给其它进程。
抢占方式:优先权原则、短进程优先原则、时间片原则
抢占方式又细分为:
轮转调度算法:
基于时间片的轮转。(当CPU时间片用完后,或者进程执行完后,开始切换下一个进程 )
优先级调度算法:
将处理机分配给就绪队列中优先级最高的进程。
也分为抢占式 和 非抢占式。抢占式可以中断正在运行的低级进程,运行新来的优先级高的进程。非抢占式不会中断正在运行的低优先级的进程。
多队列调度算法:
多个就绪队列。
多级反馈队列调度算法:
浙公网安备 33010602011771号