当前位置: 首页 > news >正文

计算机基础:操作系统学习的基石

—— 从电子流动到内存访问的底层逻辑

信息表示:0和1的魔法

计算机的本质是数字电路,其核心特性是电压离散化:

高电平 → 1,低电平 → 0

二进制抽象:电子器件中电荷的存在(1)与缺失(0)构成所有数据的基础。

进制转换示例(十进制→二进制):

5 ÷ 2 = 21  
2 ÷ 2 = 10  
1 ÷ 2 = 01  
结果: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采用)。
xys(和)c(进位)
1101
1010

💡 为什么关键?
操作系统的中断处理、时间片计算均依赖底层算术运算。

内存与存储:数据的物理之家

  • 内存单元 = 晶体管(开关) + 电容(存储)

    • 电容充电 → 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个端口),实际设备占用部分端口。

💡 操作系统核心作用:
通过虚拟内存管理将逻辑地址映射到物理地址,实现多进程隔离!

总结:基础如何支撑操作系统?

  1. 二进制与逻辑门 → 指令执行
  2. 寄存器与时钟 → 进程调度
  3. 地址空间与总线 → 内存管理
  4. 外设接口 → I/O子系统

学习建议:

理解电容存0/1、总线传数据、寄存器暂存结果,是掌握操作系统内存管理、进程调度的底层钥匙!

http://www.lryc.cn/news/611240.html

相关文章:

  • 分布式微服务--Nacos 集群部署
  • RabbitMQ延时队列的两种实现方式
  • 磁悬浮转子的“静音术”:深度解析无接触抑制旋转幽灵的奥秘
  • 基于华为开发者空间的Open WebUI数据分析与可视化实战
  • 【Linux系统编程】线程概念与控制
  • MATLAB实现菲涅尔法全息成像仿真
  • Spring Boot 整合 Web 开发全攻略
  • Java面试宝典:深入解析JVM运行时数据区
  • Linux 内存管理之 Rmap 反向映射(二)
  • EP01:【DL 第二弹】张量(Tensor)的创建和常用方法
  • BloodHound 8.0 首次亮相,在攻击路径管理方面进行了重大升级
  • IPD研发管理——决策评审DCP指南
  • Java从入门到精通 - 集合框架(一)
  • MySQL主从延迟到崩溃:Binlog格式、半同步复制与GTID的博弈
  • 视频转二维码在教育场景中的深度应用
  • 结合opencv解释图像处理中的结构元素(Structuring Element)
  • 【Java企业级开发】(七)Spring框架
  • 区块链:重构信任的价值互联网革命​
  • 场外个股期权的额度为何受限?
  • 浮动IP(Floating IP)的删除通常需要满足什么条件
  • 基于ZYNQ ARM+FPGA的声呐数据采集系统设计
  • uniapp转app时,cover-view的坑
  • 什么情况下浮动IP(Floating IP)会“漂移”(Drift)
  • OneCode 3.0 前端架构全面研究
  • ​​机器学习贝叶斯算法
  • MinIO01-入门
  • 本地部署文档管理平台 BookStack 并实现外部访问( Windows 版本)
  • Claude Code 完整指南:入门到应用
  • Flux.1系列模型解析--Flux.1 Tools
  • 鸿蒙组件装饰器深度解析:@Component vs @ComponentV2