手机就是一整套设备,操作系统是里面那位总管:多任务、权限、省电、统一接口,全靠它;没有它,每个 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 秒实验
- 翻一翻手机设置里的【应用权限】,看看有多少种资源要向操作系统申请。
- 想一想:为什么有些 App 明明只是看视频,却要求读取通讯录。
常见误区
- 把操作系统说成【手机里的操作界面】。界面只是它的一小部分,它的本职是管资源。
- 以为权限弹窗是 App 自己加的。那是操作系统的规矩,App 只是照着申请。
自测三问(点开对答案)
1. 把手机比作什么最贴切? —— 一整套设备;操作系统就是里面那位总管,负责分配资源、保护隔离、提供统一接口。 2. 【一边听歌一边刷微信】对应操作系统的哪个功能? —— 多任务——把时间切片,轮流分配给各个应用。 3. 权限弹窗的意义是什么? —— 操作系统站在用户与应用之间,让应用不能随意使用不属于它的资源。- ☐ 下一章(第十章 通过汇编语言认识程序的真面目)
相关笔记
- 从历史发展看操作系统的功能 — 三大职责的来历
- 操作系统和高级编程语言对硬件进行了抽象化 — 抽象化在手机上的样子
- DLL文件与导入库 — 共用同一份驱动,省下的也是内存
- 🔵 计算机基础 · 索引 — 硬件底层的入门课
- ⚙️ 程序是怎样跑起来的 · 索引