第一章 计算机的基本组成
从输入、处理、存储与输出出发,理解计算机各部分如何协作,为后续的软件、网络和系统学习打底。
电脑卡顿、网页打不开、文件不知道存在哪,表面上是不同的问题。拆开看会发现,它们都发生在同一套系统协作里。
我更愿意先不从参数和名词入手,而是先看清一个整体框架:程序在哪里运行,数据放在哪里,结果又如何回到你面前。
1. 什么是计算机
计算机不只是摆在桌上的电脑,而是一类能够按照程序自动处理信息的机器。它接收输入,执行程序中的计算和规则,保存需要保留的数据,再把结果输出出来。
这里的“自动”并不意味着它自己产生目的,而是它会按照人提前写好的程序,重复、准确地完成一组任务。台式机、笔记本、手机、服务器和许多嵌入式设备,都属于这类计算机。
1.1 计算机在做什么
输入信息 -> 处理信息 <-> 保存信息 -> 输出结果
- 输入:键盘输入、鼠标点击、摄像头画面、网络请求。
- 处理:计算、判断、排序、生成、执行程序指令。
- 保存:文件、图片、软件、数据库记录和程序状态。
- 输出:屏幕画面、声音、写入文件、发回网络响应。
我觉得 保存 常常被低估。很多事情之所以能在下次继续,不是因为计算还没有结束,而是因为数据已经被写进了能够长期保留的存储介质。
下面这张图展示它们如何分层协作:
这不是从左到右依次发生的流程,而是三层同时协作的关系。把这个关系看清后,应用软件负责完成任务,操作系统负责调度资源,硬件负责实际执行、保存与连接。
2. 硬件、软件与操作系统如何配合
理解计算机时,我通常先把它分成三类角色:硬件提供能力,软件提供指令,操作系统负责协调两者。
| 层次 | 它是什么 | 它在做什么 |
|---|---|---|
| 硬件 | CPU、内存、硬盘、显卡、屏幕、网卡等实体设备 | 计算、存储、显示、联网 |
| 操作系统 | Windows、macOS、Linux、Android、iOS 等基础软件 | 管理硬件资源,给应用提供运行环境 |
| 应用软件 | 浏览器、微信、编辑器、游戏、AI 工具等程序 | 完成用户要做的具体事情 |
“硬件像身体、软件像技能”这个类比可以帮助入门,但不要把它理解得太死。真正重要的是:软件不能脱离硬件运行,硬件也需要软件和操作系统来组织。
先把操作系统看成资源的协调者就够了:它决定一个程序如何获得 CPU 时间、内存空间、文件和网络等资源。下一章会专门把这件事拆开。
3. 程序运行时,哪些部件在配合
硬件的名字很多,但第一次理解它们时,我觉得先抓住一条最有用的路径就够了:
存储中的程序和文件 -> 读入内存 -> CPU 执行 -> 屏幕、文件或网络中的结果
先看一眼主机内部,会更容易把后面的部件放回正确的位置:它们不是互相孤立的零件,而是通过主板连接起来,由电源供电,再共同完成一次程序运行。
这不是严格的一次性流水线。程序运行时,CPU 会反复从内存读取内容,也会不断和存储、显示器、网络接口交换数据。不过这条路径足够帮我们分清:谁负责计算,谁负责临时放置,谁负责长期保存,谁负责与外界交换信息。
3.1 CPU:真正执行程序指令的处理器
CPU 是通用处理器。它从内存中取出程序指令和数据,完成计算、比较、判断与控制流程。打开应用、解压文件、运行代码时,CPU 都在执行其中一部分工作。
CPU 不是独自工作的核心。操作系统决定哪些任务获得 CPU 时间;内存提供正在使用的内容;存储保存程序和文件。把 CPU 说成大脑可以帮助记忆,但更准确的说法是:它负责执行,不负责包办一切。
电脑变慢也不等于 CPU 一定不够用。内存不足、存储读写慢、网络等待或设备过热,都可能让体验变差。
3.2 内存:程序正在使用的工作区
这里的内存通常指 RAM。正在运行的程序、它当前处理的数据,以及需要快速访问的内容,都会暂时放在内存里。
程序即使原本保存在硬盘中,也通常要先读入内存,CPU 才能高效地执行它。断电后,内存中的内容通常会消失;这也是为什么写完文件还需要保存到存储设备。
内存容量影响的是同时能容纳多少正在工作的程序和数据。内存紧张时,系统会把一部分暂时不用的内容转移到存储设备,电脑往往就会明显变慢。
3.3 存储:让程序和数据长期留下来
存储设备负责长期保存操作系统、软件、文档、图片、代码和数据库文件。硬盘和固态硬盘都属于存储设备,关机后其中的数据仍然存在。
SSD 的访问速度通常更快,HDD 的容量成本往往更低。比起记住型号,更值得留下的区别是:内存服务于正在发生的工作,存储保存可以留到以后再用的内容。
3.4 输入、输出与网络:计算机怎样接触外界
键盘、鼠标、摄像头和麦克风把信息送进计算机;显示器、音箱和打印机把结果带出来。这一整类交互在计算机里通常叫作输入输出,也常写成 I/O。
从这个角度看,磁盘和网络接口也属于输入输出设备:前者负责和长期数据交换,后者负责和其他计算机交换数据。网络接口本身不是互联网,它只是让一台设备能够接入局域网或互联网通信。
主板把这些部件连接起来,电源和散热系统让它们稳定工作。它们不直接决定程序做什么,却是整套系统能够持续运行的前提。
3.5 主板与电源:让协作真正发生
主板是整台电脑的连接底座。CPU 插座、内存插槽、硬盘接口和扩展插槽都安装在它上面,数据和控制信号也通过主板上的通道在不同部件之间流动。它不负责替 CPU 做计算,却决定了这些部件能不能接在一起、怎样交换数据,以及还能扩展哪些设备。
电源把墙上的交流电转换成各部件需要的稳定电力,并在不同负载下持续供电。它通常不参与程序逻辑,但供电不稳定,CPU、内存和硬盘就无法可靠地协作。主板负责把部件连起来,电源负责让这套连接持续工作。


3.6 GPU:面向特定任务的并行处理器
GPU 最初主要用于图形画面,如今也擅长同时处理大量相似的计算任务,所以常见于视频处理、科学计算和 AI 训练、推理。
它不是所有计算机都必须具备的基础角色。很多日常任务主要依赖 CPU;有些服务器甚至不需要图形能力。把 GPU 理解成为高并行任务准备的专用加速器,比把它泛泛地说成显卡或第二个大脑更准确。
4. 用“打开一个网页”把它们串起来
“打开一个网页”是个很好的观察入口。你在浏览器里输入一个网址并按下回车,背后会发生一连串协作:
- 你发出输入:键盘把输入交给系统,浏览器得到这个网址。
- 程序获得运行条件:操作系统安排浏览器使用内存、CPU 和需要的文件资源。
- 浏览器执行工作:CPU 执行浏览器的程序指令;已经安装在存储设备上的程序和数据,会按需要被读取到内存中。
- 设备连接网络:浏览器通过网络接口发出请求,远程服务器返回网页所需的数据。
- 结果被组织并输出:浏览器处理拿到的数据,图形系统把页面画面呈现到显示器上。
把它压缩成一句话,大致是:
人的操作 -> 浏览器程序 -> 操作系统协调 -> 硬件与网络协作 -> 页面出现在屏幕上
这里的每一步,后面都会有一章单独展开。现在不必追问每个协议和每条指令;一次看似简单的点击,本来就需要多层系统共同完成。
本章小结
到这里,只留下三件最重要的事:
- 计算机按照程序处理信息:接收输入,完成处理,保存数据,再输出结果。
- 应用软件负责完成任务,操作系统负责协调资源,硬件负责实际执行。
- 程序通常从存储读入内存,再由 CPU 执行;内存服务于正在发生的工作,存储负责长期保留。
沿着这条路径继续
每一篇文章都是下一次理解的起点。