计算机程序
了解信息的单位。
我们现在已经了解了操作系统。它们负责启动和运行计算机程序,这些程序用于解决用户的实际应用任务。例如,文本编辑器允许用户处理文本。
程序是一系列基本步骤,称为指令。计算机按顺序执行这些步骤,遵循严格的行动顺序来完成复杂的任务。下面我们详细探讨计算机如何启动并执行一个程序。
计算机内存
硬盘存储着程序的所有指令。如果程序相对较小且简单,它可能只占用一个文件;而复杂的应用程序则会占据多个文件。
假设我们有一个单文件程序。当我们启动它时,操作系统会将该文件加载到计算机内存中,也就是随机访问存储器(RAM)。随后,操作系统会为这个新任务分配处理器的一部分时间。这样,处理器就能在指定的时间间隔内执行程序的指令。
接下来我们看看操作系统是如何将程序加载到 RAM 中的。首先,我们需要了解计算机内存的工作原理。
字节与比特简介
计算机内存的基本单位是字节。字节是处理器能够引用并加载到其内存中的最小信息量。
在某些特殊技术下,处理器也可以处理更小的数据量,这时我们操作的是比特。比特是无法再细分的最小信息单位。我们可以将比特想象成一种逻辑状态,它只有两种可能的取值。这些取值可以有多种解释方式:
- 0 或 1
- 真或假
- 是或否
-
- 或 -
- 开或关
另一种理解比特的方式,是将其类比为电灯开关。它有两种可能的状态:
- 开关闭合电路,灯亮。
- 开关断开电路,灯灭。
八个比特组成一个字节。
比特与字节的历史
将比特打包成字节引发了一些问题:既然可以对单个比特进行操作,为什么处理器不能直接访问内存中的某个特定比特?这种限制源于历史原因。
最早的计算机主要用于算术运算,比如计算弹道表。这类任务需要使用整数和浮点数。计算机也采用同样的方式处理数据。然而,单个比特不足以存储一个数字,因此计算机需要更大的内存单元来存放数值。于是,字节便成为这样的存储单元。
字节的引入影响了处理器的架构设计。工程师预期 CPU 大多数操作都是针对数值进行的,因此他们设计了能一次性加载和处理整个数值所有比特的功能。这一改进使计算机性能提升了几个数量级。与此同时,单独加载一个比特到 CPU 的情况极为罕见,因为硬件支持这种功能会带来巨大的开销。因此,现代处理器不再包含这一特性。
为什么一个字节由八个比特组成?
在最早的计算机中,字节是六比特大小。这种内存单元足以编码全部英文字母(大小写)、数字、标点符号以及基本数学运算。但随着时间推移,这种容量逐渐变得不足。
ASCII 编码表
六比特编码无法表示控制字符和框线绘图字符,因此在20世纪60年代初,编码被扩展为七比特。此时出现了ASCII编码。它成为字符编码的标准,定义了从0到127的字符。由于七比特的最大数值是127,因此编码范围被限制在此区间。
随后,IBM于1964年推出了 IBM System/360 计算机。在这台计算机中,字节大小被设定为八比特。IBM选择这一尺寸是为了兼容早期项目中的旧字符编码。由于 IBM System/360 广泛流行,八比特字节最终成为行业标准。
信息单位
下表列出了常用的信息单位。
| 名称 | 缩写 | 字节数 | 比特数 |
|---|---|---|---|
| 千字节 | KB | 1000 | 8000 |
| 兆字节 | MB | 1,000,000 | 8,000,000 |
| 千兆字节 | GB | 1,000,000,000 | 8,000,000,000 |
| 太字节 | TB | 1,000,000,000,000 | 8,000,000,000,000 |
下表展示了常见的存储设备及其容量。
| 存储设备 | 容量 |
|---|---|
| 3.5英寸软盘 | 1.44 MB |
| 光盘(CD) | 700 MB |
| DVD | 最高可达 17 GB |
| U 盘(USB 闪存盘) | 最高可达 2 TB |
| 机械硬盘(HDD) | 最高可达 16 TB |
| 固态硬盘(SSD) | 最高可达 100 TB |
Quiz
以下哪一项是无法再进一步分解的最小信息量?