🧩 第九章 建模:填补现实世界和软件之间的沟壑
📄 一句话概括

嵌入式不记录现实,它替人干活——实测温控设备一秒采样 100 次,比人一分钟一次快 6000 倍;它替代的不是动作,是反应速度。

📝 本节和前面几节的关系

9.6~9.10 讲完业务系统,这一节换到第二类:嵌入式软件。它是【替代】,不是【记录】。

一、两类软件的动词不同

业务系统是【记录】:把发生过的事写下来。 嵌入式是【替代】:替人看、替人判断、替人动手。 所以它的模型重点不是数据,是状态与实时性。

二、实测:快 6000 倍

人做温控:看温度计、决定开不开、按开关,一分钟一次。 设备做同一件事:采样 100 次/秒,每分钟 6000 次。 相差 6000 倍——这不是炫技,因为温度变化能在 1 秒内烧坏东西。

三、它替代的不是动作,是反应速度

人也会看温度、也会开关——动作本身不难。 难的是连续不停、反应够快,这正好是 9.2 说的计算机强项。 所以嵌入式替代的是【人的反应速度】和【人的注意力】。

四、这决定了它的验证方式

业务系统测【数据对不对】,嵌入式测【每一刻都对不对】。 所以嵌入式的测试要覆盖时间维度:开机瞬间、断电瞬间、超时、抖动。 9.14 会看到它的代码长什么样:一个永远在转的循环。

五、动手 Demo:嵌入式软件替代现实世界的工作

列出人做温控的三个动作及其频率(一分钟一次)。 再算设备每秒采样 100 次时,两者差多少倍。

human = [("看温度计", 60), ("决定开不开", 60), ("按开关", 60)]
hz = 100
print(hz * 60 // 1, 60 // 60)   # 6000 1
# 人每分钟 1 次,设备每分钟 6000 次,相差 6000 倍

实跑输出:

--------------------------------------------------------------------
嵌入式软件替代现实世界的工作
--------------------------------------------------------------------

  嵌入式软件不是记录现实,**是替人干活**。拿一个温控器实测:

  一个人做这件事的频率:

  动作           多久一次(秒)
  ------------------------------
  看温度计       60
  决定开不开     60
  按开关         60

  嵌入式设备做同一件事:

      采样频率                    100 次/秒
      每分钟采样                  6000 次
      人每分钟                    1 次
      相差                        6000 倍

  **人一分钟看一次,设备一秒看一百次**——这 6000 倍不是炫技,
  **是因为温度变化可以在 1 秒内烧坏东西。**
  **所以嵌入式替代的不是【人的动作】,是【人的反应速度】。**

实测:设备每秒采样 100 次、每分钟 6000 次;人每分钟 1 次,相差 6000 倍。 这 6000 倍不是炫技——温度变化能在 1 秒内烧坏东西。 所以它替代的不是动作,是反应速度与注意力。

30 秒实验

  1. 找一个你身边的嵌入式设备,说出它替代了什么人工动作。
  2. 估一估它每秒要做多少次判断,人能不能做到。

常见误区

  1. 以为嵌入式就是【小电脑跑小软件】。它是替人干活,重点在实时。
  2. 以为替代的是人的动作。动作不难,反应速度和持续注意力才难。
自测三问(点开对答案) 1. 业务系统与嵌入式的动词有什么不同? —— 业务系统是记录,嵌入式是替代——替人看、判断、动手。 2. 实测差多少倍? —— 设备 100 次/秒即 6000 次/分钟,人 1 次/分钟,相差 6000 倍。 3. 它替代的到底是什么? —— 不是动作本身,而是人的反应速度与持续注意力。

相关笔记