⚙️ 第九章 操作系统与应用程序的关系
📄 一句话概括

手机就是一整套设备,操作系统是里面那位总管:多任务、权限、省电、统一接口,全靠它;没有它,每个 App 都得自己写一遍驱动。

📝 本节和前面几节的关系

这是本课的第三个专栏(前两个分别在第二章、第六章)。它要回答的问题是:操作系统的功能,怎么讲给一个爱用智能手机的高中女生听。

一、从她每天都在用的手机说起

讲操作系统的功能,最好的入口就是她手上那台手机。 手机上有屏幕、摄像头、麦克风、电池、网络——这些是硬件。 而让这些硬件能被 App 用起来、又不会互相打架的那位,就是操作系统。 一句话开头:手机是设备,操作系统是那位总管。

二、四个她一定遇到过的现象

一边听歌一边刷微信——这是多任务:总管把时间切碎,轮流分给每个 App。 弹窗问你要不要允许读相册——这是权限与隔离:不让一个 App 随便翻别人的东西。 电量显示还能用几小时——这是资源管理:总管在替每个 App 记账。 任何 App 都能用摄像头——这是抽象化:厂商只写一次驱动,App 都调同一套接口。 这四条都能在她手机上找到实景,讲起来一点都不抽象。

三、用一组数字说明它有多值

假设手机上装了 50 个 App,涉及 12 种硬件(屏幕、摄像头、麦克风、扬声器、Wi-Fi……)。 如果没有操作系统:每个 App 都得自己搞明白这 12 种硬件怎么用——总共 50 × 12 = 600 份驱动代码。 有了操作系统:每样硬件只写一份驱动,App 全都调同一套接口——总共 12 份。 同一件事,工作量从 600 份降到 12 份。 这就是操作系统最核心的价值:把【和硬件打交道】这件事,从每个 App 手里收上来,做一次就够了。

四、顺势解释【为什么要有权限弹窗】

很多人觉得权限弹窗烦——但它正是操作系统的职责在起作用。 没有它,一个手电筒 App 可以顺手读你的通讯录、拍你的照片、而你不知道。 有了它,每一样资源都得先问过你——总管站在你和 App 中间。 所以那句话可以说得更直白:操作系统不只是让 App 能用硬件,也是让它【不能乱用】硬件。

五、讲给她的三句话

讲完上面那些,只留三句就够了: 一、手机能同时干好多事,是因为有总管在排队。 二、App 要碰你的东西,得先问过总管,也就是问你。 三、也因为有总管,同一个 App 换台手机照样能用。 三句话正好对应操作系统的三大职责:分配资源、保护隔离、统一接口。

六、动手 Demo:用一个比喻讲操作系统的功能

把手机想成一整套设备,操作系统就是里面那位总管。 算一笔账就知道它有多值。

apps, devices = 50, 12
print("假设手机上 %d 个 App、%d 种硬件" % (apps, devices))
print("没有操作系统:每个 App 各写 %d 套驱动" % devices)
print("  总工作量  %d 份" % (apps * devices))
print("有操作系统:每样硬件只写 1 份,共 %d 份" % devices)

实跑输出:

--------------------------------------------------------------------
用一个比喻讲操作系统的功能
--------------------------------------------------------------------

把手机想成**一整套设备**,操作系统就是**里面那位总管**。

  手机上的现象                 对应操作系统的功能
  --------------------------------------------------------------------------
  一边听歌一边刷微信           多任务:轮流给每个 App 一点时间
  弹窗问你要不要允许读相册     权限与隔离:不让 App 随便碰别人的东西
  电量显示还能用几小时         资源管理:统计每个 App 耗了多少电
  任何 App 都能用摄像头        抽象化:厂商只写一次驱动,App 都调同一套接口
  后台应用久不用就被清掉       内存管理:地方不够时先腾出最不用的

  再算一笔账:**如果手机没有操作系统,每个 App 得自己管硬件。**

    假设手机上有 50 个 App、12 种硬件
    没有操作系统:每个 App 都要自己写 12 套驱动
    总工作量        600 份驱动代码
    有操作系统:每样硬件只写 1 份,App 都调同一套接口
    总工作量        12 份驱动代码

  **同一件事,工作量从 600 份降到 12 份。**
  这就是操作系统存在的意义:**把【和硬件打交道】这件事,从每个 App 手里收上来,做一次就够了。**

同一件事:驱动代码从 600 份降到 12 份。 这就是操作系统的核心价值——把和硬件打交道这件事收上来,做一次就够了。

30 秒实验

  1. 翻一翻手机设置里的【应用权限】,看看有多少种资源要向操作系统申请。
  2. 想一想:为什么有些 App 明明只是看视频,却要求读取通讯录。

常见误区

  1. 把操作系统说成【手机里的操作界面】。界面只是它的一小部分,它的本职是管资源。
  2. 以为权限弹窗是 App 自己加的。那是操作系统的规矩,App 只是照着申请。
自测三问(点开对答案) 1. 把手机比作什么最贴切? —— 一整套设备;操作系统就是里面那位总管,负责分配资源、保护隔离、提供统一接口。 2. 【一边听歌一边刷微信】对应操作系统的哪个功能? —— 多任务——把时间切片,轮流分配给各个应用。 3. 权限弹窗的意义是什么? —— 操作系统站在用户与应用之间,让应用不能随意使用不属于它的资源。

相关笔记