计算机系统基础
一、计算机系统组成
(一)计算机系统层次结构
- 硬件组成
- 主机:包含CPU(运算器+控制器)、主存储器(内存)。
- 外设:输入设备、输出设备、辅助存储器(外存,如硬盘、U盘)、总线、接口。
- 软件分类
- 系统软件:操作系统、编译工具等,是硬件与应用软件的接口。
- 应用软件:办公软件、娱乐软件、信息系统软件等,直接面向用户需求。
(二)指令系统与存储体系
- 指令系统对比
类型 CISC(复杂指令系统) RISC(精简指令系统) 指令数量 多,使用频率差异大 少,使用频率接近 格式 可变长格式 定长格式,单周期指令为主 寻址方式 支持多种 支持方式少 实现方式 微程序控制 硬布线逻辑控制,增加通用寄存器 代表 Intel/AMD的x86 CPU ARM、Power架构 - 分级存储体系
- 层次结构(速度从快到慢):CPU寄存器→Cache(相联存储器)→内存(DRAM)→外存(硬盘、光盘等)。
- 局部性原理
- 时间局部性:已执行的指令可能再次执行(如循环操作)。
- 空间局部性:访问某存储单元后,附近单元可能被访问(如顺序执行)。
- 目的:解决存储容量、价格和速度的矛盾。
(三)I/O传输方式
- 程序控制(查询)方式
- 分类:无条件传送、程序查询。
- 特点:硬件开销小,I/O能力低,CPU利用率低。
- 程序中断方式
- 特点:CPU无需等待I/O完成,支持CPU与I/O并行。
- DMA方式
- 功能:主存与外设直接数据通路,高速批量数据交换,效率高于前两种方式。
- 通道方式/I/O处理机:进一步提升I/O效率,实现更复杂的I/O控制。
二、操作系统核心知识
(一)操作系统概述
- 功能
- 管理硬件、软件、数据资源。
- 控制程序运行,提供人机接口和应用与硬件接口。
- 分类及特点
类型 特点 典型系统 批处理 单道/多道批处理,宏观并行、微观串行 早期大型机系统 分时 时间片轮转,用户独占感,多路性、交互性、及时性 Unix、Linux终端 实时 规定时间内响应,可靠性高(如控制系统) 航空航天控制 网络 共享网络资源,支持Unix、Linux、Windows Server 企业服务器系统 分布式 透明性、可靠性,网络操作系统的高级形式 分布式计算集群 嵌入式 微型化、实时性、可定制(依赖HAL/BSP) 智能设备(如路由器)
(二)进程管理
- 进程与线程
- 进程:程序在数据集合上的运行过程,资源分配和调度的独立单位,由程序块、PCB、数据块组成。
- PCB(进程控制块):进程存在的唯一标志,包含状态、优先级、现场保护区等。
- 线程:进程内的轻量级执行单元,共享进程的内存地址空间、代码、数据,独立拥有程序计数器、寄存器、栈。
- 进程状态
- 三态模型
- 运行:占用CPU(单处理机同一时刻仅1个进程运行)。
- 就绪:等待CPU,其他资源已就绪。
- 阻塞:等待I/O等事件,无法执行。
- 三态模型
- 同步与互斥
- 临界资源:需互斥访问的资源(如打印机),访问临界资源的代码为临界区。
- PV操作
- 信号量S:表示资源数量(S>0为可用数,S<0为排队进程数)。
- P操作:申请资源,S-1,若S<0则阻塞。
- V操作:释放资源,S+1,若S≤0则唤醒队列进程。
- 前趋图
- 定义:有向无环图,箭头表示前趋关系(Pi完成→Pj开始)。
- 应用:通过信号量实现进程同步,每个箭头对应一个初值为0的信号量。
- 死锁
- 四大条件:互斥、保持和等待、不剥夺、环路等待。
- 避免方法:银行家算法,确保分配后系统仍处于安全状态(存在安全序列)。
(三)存储管理
- 页式存储
- 核心:程序与内存划分为等长页,通过页表映射逻辑地址(页号+页内地址)到物理地址(页帧号+页内地址)。
- 优缺点
- 优点:碎片小,分配简单。
- 缺点:页表开销,可能引发抖动(频繁换页)。
- 页表项:状态位(是否在内存)、访问位、修改位。
- 段式存储
- 核心:按自然段划分逻辑空间,段长可变,通过段表(基址+段长)检查地址合法性。
- 优缺点
- 优点:支持程序模块化,段间修改互不影响。
- 缺点:内存碎片大,利用率低。
- 段页式存储
- 核心:先分段再分页,结合段式逻辑清晰和页式内存利用率高的优点。
- 地址转换:段号→段表→页表基址→页号→页表→页帧号→物理地址。
(四)文件系统
- 索引文件结构
- 直接索引:iaddr[0]~iaddr[5]直接指向数据块。
- 一级间接索引:iaddr[6]指向索引块,索引块包含数据块地址。
- 二级间接索引:iaddr[7]指向二级索引块,支持大文件存储。
- 位示图
- 功能:记录磁盘块使用情况,1表示已占用,0表示空闲。
- 计算:根据物理块号计算位示图的行号和列号,实现快速分配/回收。
(五)磁盘管理
- 存取时间计算
- 寻道时间:磁头移动到目标磁道的时间。
- 等待时间:目标扇区旋转到磁头下方的时间。
- 传输时间:数据读写时间,总时间=寻道时间+等待时间+传输时间。
- 调度算法
- FCFS(先来先服务):按请求顺序处理,平均寻道长度较大。
- SSTF(最短寻道时间优先):优先处理距离当前磁道最近的请求,可能导致“饥饿”。
- SCAN(扫描算法):磁头双向移动,在边缘改变方向,减少寻道次数。
三、系统性能
(一)性能指标
- 硬件指标
- 主频:CPU时钟频率(主频=外频×倍频),影响运算速度。
- MIPS:百万条指令每秒,衡量整数运算速度(MIPS=主频/CPI)。
- MFLOPS:每秒百万次浮点运算,衡量浮点性能。
- 软件指标
- 吞吐量:单位时间处理的任务数。
- 响应时间:从请求到完成的时间,衡量交互性能。
(二)性能设计与优化
- 加速比(阿姆达尔定律)
- 公式:(R = \frac{1}{(1-F_e) + F_e/S_e}),其中(F_e)为可改进部分占比,(S_e)为改进后的速度提升倍数。
- 意义:系统性能提升取决于瓶颈组件的改进比例和效率。
(三)性能评估方法
- 基准程序法
- 分类:真实程序(精度最高)>核心程序>小型基准程序>合成基准程序。
- 常见测试程序:Dhrystone(整数性能)、Linpack(浮点性能)、SPEC(综合性能)。
- Web服务器指标:最大并发连接数、响应延迟、吞吐量,通过压力测试和可靠性测试评估。
四、典型例题分析
(一)进程管理
- 例:2台打印机,3个进程互斥使用,信号量S初值为2,取值范围[-1,2](S=2→可用,S=-1→1个进程排队)。
(二)存储管理
- 页式地址转换:逻辑地址=页号+页内地址,通过页表查页帧号,拼接得到物理地址。例如,页大小4KB(12位),逻辑地址高8位为页号,低12位为页内地址。
(三)死锁预防
- 资源数计算:3个进程各需5个资源,至少需要(3×(5-1)+1=13)个资源才无死锁(每个进程分配4个,剩余1个可避免环路)。
五、考情分析与复习重点
知识点 | 分值分布(示例) | 核心考点 |
---|---|---|
进程管理 | 2-4分 | 前趋图、PV操作、死锁条件、银行家算法 |
存储管理 | 1-3分 | 页式/段页式地址转换、页面淘汰算法 |
系统性能 | 2-3分 | 加速比计算、基准程序分类 |
复习建议:结合习题掌握PV操作与前趋图的映射关系,熟练页式存储地址转换步骤,理解银行家算法的安全序列判断逻辑,通过典型例题强化计算能力。