多重处理与并发
多重处理(Multiprocessing)是操作系统同时管理多个进程的能力,其核心概念是并发(Concurrency)与串行(Serial)。
并发:两个或多个进程的执行时间在时间轴上存在重叠。即使CPU只有一个核心,通过快速上下文切换(时间分片),多个进程也能”看似”同时执行。并发是操作系统的核心能力。
串行:进程按严格的顺序执行,一个完成后再执行下一个,执行时间在时间轴上无重叠。
指令交错不确定性:单个进程内部的指令是严格按顺序执行的(串行),但不同进程之间的指令交错顺序是不确定的——它取决于操作系统的调度算法、当前系统负载、硬件中断时机等因素。这种不确定性是并发编程中最难处理的问题根源。
上下文切换的触发:
- 定时器中断:CPU时间片耗尽,操作系统强制调度。
- I/O阻塞:进程等待I/O操作完成时主动让出CPU。
- 系统调用:某些系统调用可能导致进程被阻塞或重新调度。
并发和并行的区别:并发是逻辑上的同时执行(时间分片);并行是物理上的同时执行(多核)。单核CPU可以实现并发但无法实现并行。
链接到
- 上一个知识点:8.18 错误处理
- 下一个知识点:8.20 Shell的实现