IMG_9999.txt.txt
Edited: Monday 5 May 2025

Tuesday, September 28, 2021 at 09:14

为 什 么 进 程 上 下 文 切 换 比 线 程 上 下 文 切 换 代 价高 ?

进 程 切 换 分 两 步 :

切 换 页 目 录 以 使 用 新 的 地 址 空 间
切 换 内 核 栈 和 硬 件 上 下 文

对 于 linux 来 说 , 线 程 和 进 程 的 最 大 区 别 就 在 于 地 址 空 间 , 对 于 线 程 切
换 , 第 1 步 是 不 需 要 做 的 , 第 2 是 进 程 和 线 程 切 换 都 要 做 的

切 换 的 性 能 消 耗 :

线 程 上 下 文 切 换 和 进 程 上 下 问 切 换 一 人
内 存 空 间 依 然 是 相 同 的 , 但 是 进 程 切 换 是 不 同 的 。 这 两 种 上 下 文 切 换
的 处 理 都 是 通 过 操 作 系 统 内 核 来 完 成 的 。 内 核 的 这 种 切 换 过 程 伴 随 的
最 显 著 的 性 能 损 耗 是 将 寄 存 器 中 的 内 容 切 换 出

另 外 一 个 隐 藏 的 损 耗 是 上 下 文 的 切 换 会 扰 乱 处 理 器 的 缓 存 机 制 。 _ 简 单 的
说 , 一 旦 去 切 换 上 下 袁 处 理 器 中 所 有 已 经 缓 存 的 内 存 地 址 一 瞬 间 都
作 废 了 。 还 有 一 个 显 晰 的 区 别 是 当 你 改 变 虚 拟 内 存 空 间 的 时 候 , 处 理
的 页 表 缓 冲 (processor「s Translation Lookaside Buffer (TLB)) 或 者 相
当 的 神 马 东 西 会 被 全 部 刷 新 , 2 河 的 团 动 弓 段 时 间 内 相 当 的
低 效 。 但 是 在 线 程 的 切 换 中 , 不 会 出 现 这 个 问

Backlinks