计算机基础:操作系统学习的基石
—— 从电子流动到内存访问的底层逻辑
信息表示:0和1的魔法
计算机的本质是数字电路,其核心特性是电压离散化:
高电平 → 1,低电平 → 0
二进制抽象:电子器件中电荷的存在(1)与缺失(0)构成所有数据的基础。
进制转换示例(十进制→二进制):
5 ÷ 2 = 2 余 1
2 ÷ 2 = 1 余 0
1 ÷ 2 = 0 余 1
结果:0101(高位补0)
十六进制:简化二进制的工具(4位一组转换):
1110 0110 → 0xE6
0111 1011 → 0x7B
💡 为什么重要?
操作系统的指令、内存地址、文件数据最终都以二进制存储,理解进制是分析内存转储、调试程序的基础。
逻辑运算:CPU的思维单元
布尔代数(逻辑运算)是CPU指令执行的底层逻辑:
运算 | 符号 | 规则 |
---|---|---|
与(AND) | & | 全1则1 |
或(OR) | 竖线 | 有1则1 |
非(NOT) | ~ | 取反 |
异或(XOR) | ^ | 不同则1 |
逻辑门:物理实现这些运算的电路单元,如AND门、OR门。
💡 操作系统关联:进程调度、锁机制依赖逻辑运算(如互斥锁基于AND/OR组合)。
加法器:算术运算的引擎
加法是CPU运算的基石:
- 减法 → 补码转加法(A - B = A + (-B))
- 乘法 → 加法+移位(二进制累加)
- 除法 → 减法+移位(减法由补码加法实现)
加法器实现:
- 半加器:用XOR计算和位(s = x^y),用AND计算进位(c = x&y)。
- 全加器:增加低位进位输入,串联为行波进位加法器(延迟高),或并行超前进位加法器(现代CPU采用)。
x | y | s(和) | c(进位) |
---|---|---|---|
1 | 1 | 0 | 1 |
1 | 0 | 1 | 0 |
💡 为什么关键?
操作系统的中断处理、时间片计算均依赖底层算术运算。
内存与存储:数据的物理之家
-
内存单元 = 晶体管(开关) + 电容(存储)
- 电容充电 → 1,无电荷 → 0。
-
位(bit):最小单位(1b),字节(Byte):基本访问单元(1B = 8b)。
-
地址:内存单元的编号,操作系统通过地址读写数据。
⚠️ 重要限制:内存只能以字节为单位访问,无法单独操作某一位。
总线:计算机的“高速公路”
连接CPU、内存与外设的三大总线:
总线类型 | 功能 |
---|---|
地址总线 | 传递内存地址(如32位总线→4GB寻址空间) |
数据总线 | 传输实际数据 |
控制总线 | 发送读写信号(如内存读、I/O写) |
时钟信号 | 协调各部件动作的“指挥棒”,决定CPU主频。 |
寄存器:CPU的快速工作台
-
作用:临时存储指令地址、运算状态、中间结果(如计算1+2+4时暂存3)。
-
与内存的区别:速度极快(纳秒级),容量小(通常64位CPU有16个通用寄存器)。
-
无状态电路:组合逻辑电路(如半加器)结果不保存,需寄存器持久化中间值。
💡 操作系统视角:上下文切换时需保存/恢复寄存器状态!
外设与接口:扩展计算机的能力
-
外设:键盘、显示器、硬盘(外存)等I/O设备。
-
接口:处理器与外设的“翻译官”(如USB、SATA)。
-
协议转换(总线信号→外设信号)
-
-
支持热插拔(如即插即用设备)
-
主板:集成CPU、内存、接口的电路基板。
地址空间:资源的“门牌号”系统
-
内存地址空间:CPU可寻址的范围(如32位→4GB),大于物理内存(如实际2GB)。
-
I/O地址空间:独立编址外设(x86用16位→64K个端口),实际设备占用部分端口。
💡 操作系统核心作用:
通过虚拟内存管理将逻辑地址映射到物理地址,实现多进程隔离!
总结:基础如何支撑操作系统?
- 二进制与逻辑门 → 指令执行
- 寄存器与时钟 → 进程调度
- 地址空间与总线 → 内存管理
- 外设接口 → I/O子系统
学习建议:
理解电容存0/1、总线传数据、寄存器暂存结果,是掌握操作系统内存管理、进程调度的底层钥匙!