《计算机系统思维导图》
一、计算机系统概述
1.1 定义与组成
- 定义: 计算机系统是由硬件和软件组成的完整系统,协同工作以执行特定任务。
- 组成:
- 硬件 (Hardware)
- 中央处理器 (CPU)
- 存储器 (Memory)
- 输入/输出设备 (I/O Devices)
- 总线 (Bus)
- 软件 (Software)
- 系统软件 (System Software)
- 操作系统 (Operating System)
- 编译器 (Compiler)
- 链接器 (Linker)
- 汇编器 (Assembler)
- 设备驱动程序 (Device Drivers)
- 应用软件 (Application Software)
- 文字处理软件
- 游戏
- 浏览器
- 系统软件 (System Software)
- 硬件 (Hardware)
1.2 计算机系统层次结构
- 自底向上:
- 硬件层 (Hardware Layer)
- 固件层 (Firmware Layer)
- 操作系统层 (Operating System Layer)
- 系统软件层 (System Software Layer)
- 应用软件层 (Application Software Layer)
- 抽象层: 每一层都对上一层提供抽象,隐藏底层复杂性。
1.3 计算机系统工作原理
- 冯·诺依曼体系结构:
- 指令和数据以二进制形式存储在同一存储器中。
- 指令按地址顺序执行 (顺序执行,但可以通过跳转指令改变顺序)。
- 计算机由运算器、控制器、存储器、输入设备和输出设备组成。
- 指令执行周期:
- 取指令 (Fetch)
- 译码 (Decode)
- 执行 (Execute)
- 存储 (Store)
二、硬件系统
2.1 中央处理器 (CPU)
- 组成:
- 运算器 (Arithmetic Logic Unit, ALU)
- 控制器 (Control Unit)
- 寄存器 (Registers)
- 高速缓存 (Cache)
- 功能:
- 指令控制
- 运算操作
- 时间控制
- 数据处理
- 性能指标:
- 主频 (Clock Speed)
- 字长 (Word Size)
- 核心数 (Number of Cores)
- 缓存大小 (Cache Size)
- 指令集架构 (ISA):
- x86, ARM, RISC-V
2.2 存储器 (Memory)
- 分类:
- 主存储器 (Main Memory / RAM):
- DRAM (Dynamic RAM)
- SRAM (Static RAM)
- 辅助存储器 (Secondary Memory):
- 硬盘驱动器 (Hard Disk Drive, HDD)
- 固态硬盘 (Solid State Drive, SSD)
- 光盘 (Optical Disc)
- U盘 (USB Flash Drive)
- 主存储器 (Main Memory / RAM):
- 层次结构:
- 寄存器 (Registers)
- 高速缓存 (Cache)
- 主存储器 (Main Memory)
- 辅助存储器 (Secondary Memory)
- 离线存储 (Offline Storage)
- 存储器管理:
- 虚拟内存 (Virtual Memory)
- 地址转换 (Address Translation)
- 页面置换算法 (Page Replacement Algorithms)
2.3 输入/输出系统 (I/O System)
- I/O 设备:
- 输入设备 (Input Devices): 键盘, 鼠标, 扫描仪
- 输出设备 (Output Devices): 显示器, 打印机, 音箱
- 存储设备 (Storage Devices): 硬盘, 固态硬盘
- I/O 控制方式:
- 程序查询方式 (Programmed I/O)
- 中断方式 (Interrupt-driven I/O)
- 直接存储器访问 (Direct Memory Access, DMA)
- I/O 接口:
- 串口 (Serial Port)
- 并口 (Parallel Port)
- USB (Universal Serial Bus)
- PCIe (Peripheral Component Interconnect Express)
2.4 总线 (Bus)
- 定义: 用于连接计算机各个部件,传输数据、地址和控制信号的通道。
- 分类:
- 内部总线 (Internal Bus)
- 系统总线 (System Bus)
- 外部总线 (External Bus)
- 性能指标:
- 总线宽度 (Bus Width)
- 总线频率 (Bus Frequency)
三、软件系统
3.1 操作系统 (Operating System, OS)
- 定义: 管理计算机硬件和软件资源,提供用户接口的系统软件。
- 功能:
- 进程管理 (Process Management)
- 内存管理 (Memory Management)
- 文件系统管理 (File System Management)
- 设备管理 (Device Management)
- 用户接口 (User Interface)
- 类型:
- 批处理操作系统 (Batch Processing OS)
- 分时操作系统 (Time-Sharing OS)
- 实时操作系统 (Real-Time OS)
- 网络操作系统 (Network OS)
- 分布式操作系统 (Distributed OS)
3.2 编程语言与编译器
- 编程语言:
- 低级语言 (Low-Level Languages): 机器语言, 汇编语言
- 高级语言 (High-Level Languages): C, C++, Java, Python
- 编译器:
- 将高级语言代码翻译成机器语言代码的程序。
- 前端 (Front-end): 词法分析, 语法分析, 语义分析, 中间代码生成
- 后端 (Back-end): 代码优化, 目标代码生成
- 解释器:
- 逐行解释执行高级语言代码的程序。
3.3 链接器 (Linker)
- 功能: 将多个目标文件和库文件链接成一个可执行文件。
- 过程:
- 符号解析 (Symbol Resolution)
- 地址重定位 (Address Relocation)
四、计算机系统性能评估
4.1 性能指标
- 响应时间 (Response Time)
- 吞吐量 (Throughput)
- 利用率 (Utilization)
- 效率 (Efficiency)
- 公平性 (Fairness)
4.2 性能优化
- 硬件优化: 更快的CPU, 更多的内存, 更快的存储设备
- 软件优化: 算法优化, 代码优化, 并行化处理, 缓存优化
- 系统配置优化: 合理配置操作系统参数
五、总结
计算机系统是一个复杂的整体,由硬件和软件紧密结合而成。 理解计算机系统的各个组成部分及其工作原理,对于开发高效的软件,维护和优化计算机系统至关重要。掌握其层次结构,能够更清晰地理解不同层面的功能和关系,从而更好地进行系统设计和开发。