多重处理与并发

多重处理(Multiprocessing)是操作系统同时管理多个进程的能力,其核心概念是并发(Concurrency)与串行(Serial)。

并发:两个或多个进程的执行时间在时间轴上存在重叠。即使CPU只有一个核心,通过快速上下文切换(时间分片),多个进程也能”看似”同时执行。并发是操作系统的核心能力。

串行:进程按严格的顺序执行,一个完成后再执行下一个,执行时间在时间轴上无重叠。

指令交错不确定性:单个进程内部的指令是严格按顺序执行的(串行),但不同进程之间的指令交错顺序是不确定的——它取决于操作系统的调度算法、当前系统负载、硬件中断时机等因素。这种不确定性是并发编程中最难处理的问题根源。

上下文切换的触发

  1. 定时器中断:CPU时间片耗尽,操作系统强制调度。
  2. I/O阻塞:进程等待I/O操作完成时主动让出CPU。
  3. 系统调用:某些系统调用可能导致进程被阻塞或重新调度。

并发和并行的区别:并发是逻辑上的同时执行(时间分片);并行是物理上的同时执行(多核)。单核CPU可以实现并发但无法实现并行。

链接到