从内核视角看进程与线程:那道墙是页表做的
来源:dev.to — 2026-10-20 · 约 10 分钟阅读
📋 概述
作者不用教科书答案,而是站到内核做决策的位置:整台机器的内存都属于内核,进程拿到的是一份私有虚拟地址空间,隔离靠页表而不是把物理内存切块分给谁。越界访问由内存管理单元触发异常,内核通常回一个段错误;别的程序崩溃,你的数据毫发无损。线程则是进程内部共享同一地址空间、由内核调度的执行单元,换来更低开销的创建与零拷贝通信,代价是失去这层内存隔离。
🔑 核心要点
- 进程隔离的墙不是物理内存分区,而是每个进程独立的虚拟地址空间与内核维护的页表。
- 两个进程可以使用同一个虚拟地址却落在完全不同的物理内存上,这正是隔离成立的机制。
- 线程共享地址空间,因此创建更便宜、通信不需要拷贝,但也因此没有任何内存边界。
- 「进程重、线程轻、线程共享内存」这句话没错,但它只是结论,不解释任何机制。
💡 金句
“It is also the kind of true that you can recite for ten years without ever understanding what is going on underneath.”
译:它也是那种你可以背十年、却始终不理解底下到底发生了什么的大实话。
← 返回 dev.to 首页