跳到内容

元数据卡

  • 前置知识:进程与内存的概念(上一页)
  • 预计时间:8 分钟
  • 完成标志:能解释"为什么电脑可以同时运行很多程序"

你的进度

"好,现在你拉动了几个手柄——浏览器、终端、VS Code、微信。它们全变成了进程。那我问你:这些进程是不是在工作?"

工坊主人笑着伸出两只手。"我左手画圈,右手画方——你觉得我画得好吗?"

他动了两只手,画出来的两个半圆歪歪扭扭。"比一个一个画差多了,对吧?"他收起左手,右手画了一个标准的圆。"因为我的脑子一次只能专注一件事。"

"电脑也一样——只不过它切换得飞快,快到你以为它在做。"


操作系统在演戏

打开任务管理器(Windows: Ctrl+Shift+Esc, Mac: Activity Monitor, Linux: top),你看到了一大串名单:五个浏览器标签页、终端、编辑器、聊天工具、系统服务……

你的电脑在运行几十甚至上百个进程。但它们不是同时执行的——是操作系统在"演戏"。

你的 CPU 可能有 4 个核或 8 个核,每一核一次只能执行一个任务。但操作系统每秒把 CPU 时间切成很小的片(时间片,大约几十毫秒),飞快地在所有就绪的进程之间切换:

  1. 切到进程 A 跑 30ms
  2. 切到进程 B 跑 30ms
  3. 切到进程 C 跑 30ms
  4. 切回进程 A 跑 30ms……

因为切换速度太快,你感受到的是"运行"。这叫并发

bash
# 实时查看当前运行中的进程(类似任务管理器)
top -o %CPU

# 按 q 退出

语言:Shell (Bash) 如何运行:输入 tophtop预期输出:实时更新的进程列表,默认按 CPU 使用率排序 你试试:按 P(大写)按 CPU 排序,按 M 按内存排序


旅人笔记

操作系统在 CPU 核之间切来切去,让你感觉几十个程序"同时在跑"。这不是并行——是并发。CPU 核数有限,但切换速度极快,快到你看不出间隔。

下一步:动手探索你的系统

知道了理论,自己动手看看你的电脑里到底在跑什么。

开始探索实验 →

Built with VitePress | Software Systems Atlas