0.1 计算机到底是什么:硬件、系统、程序、文件
第〇篇【零基础预科】全部免费。如果你完全没接触过计算机原理,从这一篇开始,我们用大白话把最基本的整体概念搭起来。
一、一句话理解计算机
你可以把计算机想成一家超级听话、速度极快、但完全没有常识的加工厂:
- 你给它原料(数据);
- 它照着一张菜谱(程序) 高速加工;
- 最后给你成品(结果)。
它的特点是:你不说清楚,它就不会;但只要你说清楚,它能每秒做几十亿次操作,而且从不嫌累。
你可能会问:那它和计算器、和手机有什么区别? 计算器的"菜谱"是焊死的,只能做固定算术;计算机的菜谱可以随时换——今天当浏览器、明天当播放器,靠的就是能加载不同程序。手机本质也是一台计算机,只是把屏幕、触控、通信模块做到了一起。记住"能按不同程序处理数据"这个特征,比记住任何零件都重要。
为什么安全要从这里讲起?因为漏洞,本质上就是有人让这台机器执行了"菜谱之外、本不该执行"的指令。你得先看懂它正常怎么工作,才看得懂别人怎么钻空子。
二、硬件:看得见摸得着的零件
打开一台电脑,里面这些是硬件:
| 零件 | 通俗比喻 | 作用 |
|---|---|---|
| CPU(中央处理器) | 厨师 / 大脑 | 真正做运算、执行指令 |
| 内存(内存条) | 案板 | 临时放“正在做的菜”,速度快,断电清空 |
| 硬盘(SSD/HDD) | 仓库 | 长期存放程序和文件,断电不丢 |
| 主板 | 厨房的电路与传送带 | 把所有零件连起来、让它们通信 |
| 网卡 | 电话/快递员 | 让电脑能联网、和别的电脑传数据 |
| 显卡 | 专门摆盘的助手 | 处理画面输出(也用于并行计算) |
内存 vs 硬盘:初学者最容易混
这是一定要先搞懂的一对概念:
- 内存:正在运行的东西放这里,快,但断电/关机就没了;
- 硬盘:要长期保留的东西放这里,相对慢一点,但断电还在。
所以编辑文档没保存就断电会丢——因为它还只在内存里;点了"保存"才写进硬盘。
把这个场景讲具体点:你用 Word 写了一下午简历、一直没点保存,这些文字其实只待在内存里;这时室友不小心踢掉电源,内存瞬间清空,再开机简历就没了。而你昨天就保存好的文件,安静地躺在硬盘上,断电、放几个月都还在。所以"保存"这个动作,本质是把数据从易失的内存,抄一份到持久的硬盘。
你可能会问:为什么老电脑一换固态硬盘(SSD),就像换了台新电脑? 老的机械硬盘(HDD)读写时像在转一张实体唱片,是整机最慢的一环;开机、开软件都要从硬盘读大量小文件,它一慢,CPU 再快也只能干等。换成 SSD 后这一环快了几十倍,体感立刻"飞"起来。这说明一个道理:电脑快慢取决于最慢的那一环——内存不够会卡顿、硬盘慢拖启动、网络慢让网页转圈。
一个常见误解:"内存越大越好,拼命加内存就行。" 内存确实重要(它决定你能同时铺开多少程序、跑几台虚拟机),但如果 CPU 很弱、硬盘还是机械的,单加内存不会让整机变快。对学安全的人,内存往往最该优先给够——后面我们要在一台电脑上用虚拟机同时跑好几台靶机,每台都要吃内存。
三、软件:看不见的程序和数据
硬件是"身体",让身体动起来的是软件。软件分两大类:
- 操作系统(Windows、macOS、Linux):管理整台电脑的"大管家",下一篇细讲;
- 应用软件(浏览器、微信、游戏):跑在操作系统之上、完成具体任务的程序。
程序本质上就是一串排好顺序、告诉计算机"第一步做什么、第二步做什么"的指令。计算机没有主观想法,它只是严格、忠实地执行这些指令。
你可能会问:软件是怎么"装进"电脑的? 安装,其实就是把程序这串指令和它要用的资源,以一堆文件的形式拷到硬盘上,再在系统里"登记"一下(开始菜单、桌面图标就是登记入口);卸载则是反过来清掉这些文件和登记信息。安装/卸载在 0.11 专门讲。
一个常见误解:"点掉窗口右上角的 ×,软件就彻底停了。" 不一定。很多程序点 × 只是把窗口藏起来,后台仍在运行(右下角小图标里常能找到),有的还在继续联网、下载。这就引出一个重要概念——进程:一个真正"正在运行的程序实例"。0.3 会专门讲;而安全排查里"看有哪些进程在跑、有没有陌生进程"是判断电脑是否中招的基本功。
四、文件:数据的存放单位
硬盘里的东西,几乎都以文件的形式存在:
- 一张照片是一个文件;
- 一个视频是一个文件;
- 一段文字、一个程序,也都是文件。
文件通常被分门别类放进文件夹(目录) 里,就像仓库里的一个个收纳箱。关于文件、扩展名和路径,我们在 0.4–0.6 会专门讲。
同一份数据可以有不同的文件形态:同一张照片存成 .jpg 是一个文件、存成 .png 又是另一个。而文件里装的到底是图片还是程序,不靠名字、靠内容(0.5 细讲,这正是很多病毒的伪装原理)。
一个常见误解:"把桌面图标删了,软件就卸载了。" 桌面图标多半只是一个快捷方式,像一张写着"真正程序在哪个文件夹"的便签;删掉便签,真正的程序文件还在硬盘里。反过来,把快捷方式拷到 U 盘插到别的电脑往往也打不开——因为它指向的真正程序不在那儿。
五、把四样东西串起来
你现在用浏览器看这篇网页,背后就是:硬件提供算力,操作系统调度资源,浏览器程序在运行,它通过网卡从远程把网页这个文件/数据取回来,渲染到屏幕上。
把这条链路记住,再看"攻击"就清楚了:攻击者没法凭空让电脑做坏事,他必须想办法让某个程序收下一段恶意数据、并把这段数据当成指令去执行——可能是一个畸形文件、一次特殊的网络请求,或一行被注入的命令。后面所有漏洞,都是这套"硬件—系统—程序—文件"模型在某个环节出了岔子。
六、本篇小结
- 计算机 = 按指令高速处理数据的机器:输入 → 处理 → 输出。
- 硬件是实体零件:CPU 运算、内存临时存放(断电没)、硬盘长期保存(断电在)、网卡联网。
- 软件分操作系统和应用程序;程序是一串有序指令。
- 文件是数据在硬盘上的存放单位,文件夹用来归类。
- 先建立"硬件—系统—程序—文件"的整体框架,后面的内容都会挂在这套框架上。
下一篇 0.2 我们专门讲"操作系统"到底是什么,以及 Windows、macOS、Linux 的区别——而安全工作几乎天天和 Linux 打交道。