唐朔飞教授的《计算机组成原理(第2版)》是国内计算机科学教育领域的经典教材,系统讲解了计算机硬件系统的组成和工作原理。本文基于该教材,整理了第二章“计算机系统服务”的笔记和课后习题解析,帮助读者深入理解计算机系统的核心服务机制。
一、笔记总结
计算机系统服务是计算机硬件与软件交互的基础,主要包括中断服务、输入输出(I/O)服务和系统调用等关键功能。
- 中断服务:中断是计算机处理异步事件的核心机制。当外部设备(如键盘、磁盘)或内部异常(如除零错误)发生时,CPU暂停当前任务,转去执行中断服务程序。中断分为硬中断(由硬件触发)和软中断(由程序指令触发)。中断处理过程包括保存现场、识别中断源、执行服务程序和恢复现场。中断优先级机制确保高优先级事件能及时响应。
- 输入输出服务:I/O服务负责管理计算机与外部设备的数据交换。常见的I/O控制方式包括程序查询、中断驱动和直接存储器存取(DMA)。程序查询方式简单但效率低;中断驱动方式允许CPU并行处理其他任务;DMA方式由专用控制器直接传输数据,大幅减轻CPU负担。I/O端口编址方式分为统一编址和独立编址,影响CPU访问I/O设备的方式。
- 系统调用:系统调用是用户程序请求操作系统服务的接口,如文件操作、进程管理等。通过陷入指令(如x86的INT指令),用户程序从用户态切换到内核态,由操作系统执行相应服务。系统调用与普通函数调用的区别在于涉及特权级切换和内核资源访问。
- 服务协同机制:计算机系统服务通过中断向量表、I/O调度和系统调用表等结构实现高效协同。例如,中断向量表存储各中断服务程序的入口地址,确保快速响应;操作系统内核作为服务调度中心,管理资源分配和权限控制。
二、课后习题解析
以下选取教材中典型习题进行解析,帮助巩固知识点:
1. 习题1:简述中断处理过程。
答案:中断处理包括以下步骤:(1) 中断请求:设备或程序发出中断信号;(2) 中断响应:CPU保存当前程序计数器(PC)和状态寄存器;(3) 中断识别:通过中断向量表查找服务程序入口;(4) 执行服务程序:处理中断事件;(5) 中断返回:恢复现场,继续原程序。
2. 习题2:比较程序查询、中断驱动和DMA三种I/O控制方式的优缺点。
答案:程序查询方式简单易实现,但CPU利用率低;中断驱动方式提高了CPU效率,但中断处理开销较大;DMA方式数据传输高效,但需要额外硬件支持,成本较高。
3. 习题3:什么是系统调用?举例说明其应用场景。
答案:系统调用是用户程序访问操作系统内核服务的接口。例如,在Linux中,read()系统调用用于从文件读取数据,涉及从用户态切换到内核态,由操作系统执行磁盘访问操作。
4. 习题4:中断优先级的作用是什么?
答案:中断优先级用于管理多个中断请求的响应顺序。高优先级中断可打断低优先级中断的处理,确保紧急事件(如电源故障)得到及时响应,避免系统阻塞。
三、学习建议
学习计算机系统服务时,建议结合实践理解理论:
- 通过编程实验(如编写中断处理程序或系统调用)加深对服务机制的理解。
- 使用模拟工具(如CPU模拟器)观察中断和I/O处理过程。
- 对比不同操作系统(如Windows和Linux)的系统调用实现方式,掌握共性原理。
计算机系统服务是计算机组成原理的核心内容,掌握这些知识有助于设计高效、可靠的计算机系统。读者可结合教材和实际案例,逐步构建完整的计算机系统知识体系。