⚙️ 第六章 自己动手压缩数据
📄 一句话概括

内存=书桌(伸手就拿得到),磁盘=书柜(找一本要起身),CPU=你;加载=把书从书柜搬到桌上。

📝 本节和前面几节的关系

这是本课的第二个专栏(第一个在第二章讲 CPU 与二进制)。它要回答的问题是:内存和磁盘的区别,怎么讲给一个爱打游戏的初中生听。

一、先从她每天都在做的事说起

讲内存和磁盘,最省力的入口不是电脑,是自己那张书桌。 书桌:摊着正在写的作业、正翻的书,伸手就拿得到。 书柜:所有书都在里面,但找一本要站起来走过去。 一旦她点头说【我懂了】,后面所有话都能挂在这张桌子上。

二、一张对照表

你本人 → CPU:做题的那双手,算得飞快,但一次只能拿一样东西。 书桌 → 内存:临时放正在用的东西,快但小,而且一放学就清空(断电就丢)。 书柜 → 磁盘:所有东西都长期存着,大但慢,找东西要起身。 把书从书柜搬到桌上 → 加载:程序每次运行都得先搬一趟。 桌上摆不下先摊地上 → 虚拟内存:地方不够时先借点地板,但拿地上的东西更慢。

三、用一个她熟悉的游戏算笔账

挑一个大游戏,比如 60 GB 的。 60 GB 全在书柜里躺着——游戏本体就住这儿。 真正搬到桌上的只有那 8 GB 左右——当前这一关要用的那些。 搬 8 GB:从固态硬盘大约 4 秒,从机械硬盘要 55 秒。 这一算,【换成 SSD 加载快很多】就不再是玄学了。

四、顺便把【卡顿】讲清楚

卡顿常常被误会成【电脑算不过来】。 真实的场景往往是:正算到一半,发现还要用一本没搬上桌的书。 那就只能停下来、起身、去书柜找一趟——这一趟就是几毫秒。 一秒里来上几百次,画面就一卡一卡的。 所以【换更大的内存】有时比【换更快的 CPU】更能治卡顿——因为卡的不是算,是等。

五、讲给孩子的三个要点

讲完上面那些,只留三句话给她就够了: 一、桌子越乱,找东西越慢。 —— 这就是为什么要省内存。 二、常用的书放在手边。 —— 这就是缓存的意义。 三、断电时桌上会清空,书柜还在。 —— 这就是为什么【忘了保存】会出事。 最后一条她多半最有共鸣,也可以顺手把【记得保存】讲完了。

六、动手 Demo:用游戏打比方——内存与磁盘

把电脑想成你的书桌和书柜:桌上是内存、柜里是磁盘。 加载就是把书从书柜搬到桌上。

game_gb = 60        # 游戏本体,躺在【书柜】里
need_gb = 8         # 当前要用的,搬到【桌上】
print("磁盘里躺着 %d GB" % game_gb)
print("内存里只有 %d GB" % need_gb)
for name, mbps in (("固态硬盘", 2000), ("机械硬盘", 150)):
    print("%s 搬 %d GB 要 %.1f 秒" % (name, need_gb, need_gb * 1024 / mbps))

实跑输出:

--------------------------------------------------------------------
用游戏打比方——内存与磁盘
--------------------------------------------------------------------

把电脑想成你的**书桌和书柜**:

  角色的说法     电脑里的说法             比喻成什么
  -------------------------------------------------------------
  CPU            算得飞快的那颗芯片       你本人——做题的手
  内存           临时放正在用的数据       书桌——伸手就拿得到
  磁盘           永久存放所有东西         书柜——找一本要起身
  加载           把程序从磁盘搬进内存     把书从书柜搬到桌上
  虚拟内存       内存不够时借磁盘         桌上摆不下,先摊地上

  拿一个 60 GB 的游戏算算:

    躺在书柜里的      60 GB
    真正搬到桌上的    约 8 GB
    从固态硬盘搬 8 GB 约 4.1 秒
    从机械硬盘搬 8 GB 约 54.6 秒

  所以【换成 SSD 加载快很多】不是玄学:
  **游戏本体 60 GB 都躺在书柜里,真正搬到桌面上的只有那 8 GB。**

  而【卡顿】往往是另一回事:
  **搬到一半发现还要别的书,又得起身去书柜找一趟——**
  这一趟就是几毫秒,一秒里来上几百次,画面就一卡一卡的。

60 GB 本体都躺在书柜里,真正搬到桌上的只有那 8 GB。 搬同样 8 GB:SSD 约 4.1 秒,HDD 约 54.6 秒——这就是换 SSD 变快的来由。

30 秒实验

  1. 想一想:手机上的微信为什么用久了会变卡、清理缓存又能好一阵子。
  2. 把【记得保存】和【断电清空】连起来,讲给身边的人听一遍试试。

常见误区

  1. 把内存说成【电脑的记忆】。内存是临时用的桌子,磁盘才是长期存的书柜。
  2. 用【容量大小】来解释快慢。快慢的真正原因是【要不要找】和【有没有机械动作】。
自测三问(点开对答案) 1. 把内存和磁盘比作什么最贴切? —— 内存=书桌(快、小、断电清空),磁盘=书柜(慢、大、长期保存)。 2. 加载这个比喻对应什么? —— 把书从书柜搬到桌上——运行程序前必须先把内容搬进内存。 3. 游戏卡顿最常见的比喻是什么? —— 算到一半发现还要用一本没搬上桌的书,只能停下来去书柜找一趟。

相关笔记