计算机
一台机器,是怎么从一块通了电的板子,变成能上网、能放歌、能替你干活的东西的。这一章我们把它拆开,从按下电源那一刻讲起。
里面有什么
这是一台你每天都在用的电脑。现在,我们把它的外壳慢慢拿掉——别担心,这里拆东西不用负责。
外壳消失,露出一块主板。上面真正干活的,其实就这么几个角色:CPU、内存、硬盘、网卡。每一个只做一件事。
给它们各配一个身份:CPU 是大脑,负责思考;内存是工作台,放手边正在用的东西;硬盘是档案柜,放暂时不用的;网卡是对外的门。
而主板就是那张桌子——让大脑、工作台、档案柜能互相递东西。它们加起来,你就能刷视频、写文档。把鼠标移到零件上认识一下它们。
从一片黑到桌面
按下电源那一刻,电流先跑遍整块主板——这是一份“起床清单”的第一项:确认自己还活着。
接着,固件检查并初始化必要硬件。旧机器常用 BIOS,现代机器多用 UEFI;这里的清单是帮助理解的示意。
固件找到启动程序,再由启动程序加载操作系统。操作系统不是完整放在一个小小的“启动区”里。
操作系统的核心开始在内存中运行,启动服务和桌面。不同设备有不同细节;这里展示的是常见启动路径的简化版本。
那个看不见的管家
桌面安静下来了。但给它拍一张 X 光,你会看到操作系统一直在忙——它同时管着三摊事。
第一摊:管文件。你的照片、文档去哪儿了、放在哪个文件夹,都是它在记账。
第二摊:管程序。谁在跑、谁能用多少内存、谁先谁后,它说了算。每个正在跑的程序,行话叫一个“进程”。
第三摊:管硬件。键盘敲了哪个键、鼠标挪到哪、网卡收到什么,都由它转交。没有它,你只能盯着一块发光的板子。
双击之后发生了什么
桌面上有个浏览器图标。双击它——这个动作背后,是一整条流水线。
操作系统从硬盘(档案柜)找到程序,把运行需要的代码和数据放进内存(工作台)。真实系统可以按需加载,不必一次搬完整个程序。
然后 CPU 开始一条一条执行它的指令——你可以拖动下面的滑块,把这个过程放慢看清楚。
窗口“长”出来的那一刻,程序就活了。硬盘存它,内存端着它,CPU 跑它——三个角色第一次接力完成。
为什么会卡、为什么重启就好了
现在同时开着四个程序:浏览器、音乐、聊天、剪辑。看起来它们在同时运行。
下面演示单个执行资源如何分时照顾程序;现代多核 CPU 也能真正并行处理多个任务。轮换和并行可以同时存在。
但内存是有限的。每开一个程序,工作台就被占掉一块。试试下面的滑块,多开几个程序看看。
内存压力可能触发数据换入换出,让操作变慢;磁盘、网络和程序自身也可能造成卡顿。重启能清理临时状态,但系统启动后仍占内存,也不保证修复根本原因。
一台电脑,你已经看懂了
它是一堆各司其职的硬件,加上一个当管家的操作系统,加上一些替你做具体事情的程序。到这里,你已经能解释朋友的那句“我电脑好卡”是怎么回事了。
但“程序”到底是什么?是谁、用什么写出来的?下一章,我们把“程序”这件事拆开。