进程调度

调度在广义上是指在一个队列中,按照某种策略从中选择一个最合适的个体。这个队列一般是因为同一原因;同一目标而聚合在一起的同一类对象的有序集合。调度是操作系统的基本功能之一,几乎所有的计算机资源在使用前都需要被合理调度。


多进程调度流程

在多进程/多线程的操作系统中,多进程并发,解决了单进程阻塞的问题,因为一个进程阻塞cpu可以立刻切换到其他进程中去执行,而且调度cpu的算法可以保证在运行的进程都可以被分配到cpu的运行时间片。这样从宏观来看,似乎多个进程是在同时被运行。

调度过程中几个属性:

  • 进程状态:运行、就绪和阻塞;阻塞状态也称为等待或睡眠状态,一个进程正在等待某一事件发生(例如请求I/O而等待I/O完成等)而暂时停止运行,这时即使把处理机分配给进程也无法运行,故称该进程处于阻塞状态。
  • 进程上下文:描述了当前进程的执行记录信息,这个信息包括所有进程寄存器的保存副本。调度上下文也包括了调度优先级和等待传到进程的信号等信息。
  • 调度记账信息:统计每个进程的执行时间,正在消耗的资源和进程迄今为止消耗的总资源等

ios进程调度 进程调度有什么作用_进程调度


并行与并发

并发:如上图所示,在微观角度上,一个CPU不同时间段调度执行不同的进程,而在宏观角度来看好像多个进程被同时执行
对于线程来说,体现在CPU的某一核心上,它的执行也是会发生并发的,类似于CPU调度进程。进程与线程

并行:并行就不是单处理器了,它是指多个处理器同时执行不同的进程/线程


详细介绍参考:操作系统原理-进程调度调度器原理进程调度_极客熊猫GeekPanda的博客