计算机系统基础(三):异常、中断和输入/输出
分享
课程详情
课程评价
spContent=在前两门课中你学习了可执行文件的生成、加载和执行。是否所有程序总能按部就班地正常执行到结束呢?如果发生了异常或者外部中断请求,该怎么办?键盘、磁盘等外设操作无法用一条指令完成,该怎么办?如果你想知道这些问题,就请参加“计算机系统基础(三):异常、中断和输入/输出”课程学习吧!
—— 课程团队
课程概述

本课程主要介绍可执行文件中的代码在执行过程中,如果发生了内部异常事件或外部中断请求,CPU如何进行异常/中断响应,以调出操作系统内核中的异常处理程序或中断服务程序执行,以及用户程序如何通过陷阱指令调出操作系统提供的系统调用服务例程来实现输入/输出操作。主要包括以下几个问题:

  1. 什么是进程的逻辑控制流?

  2. 为何会形成进程的异常控制流?

  3. 进程上下文切换如何形成异常控制流?

  4. 异常和中断如何形成异常控制流?

  5. IA-32/Linux如何进行异常/中断处理?

  6. 如何通过系统调用实现程序中的I/O操作?

  7. 外部设备如何与主机互连?

  8. 基本的输入/输出方式有哪几种?

  9. 内核空间I/O软件如何控制I/O硬件?

课程大纲
预备知识

高级语言程序设计(最好有C语言程序设计的基础)

证书要求

为积极响应国家低碳环保政策, 2021年秋季学期开始,中国大学MOOC平台将取消纸质版的认证证书,仅提供电子版的认证证书服务,证书申请方式和流程不变。

 

电子版认证证书支持查询验证,可通过扫描证书上的二维码进行有效性查询,或者访问 https://www.icourse163.org/verify,通过证书编号进行查询。学生可在“个人中心-证书-查看证书”页面自行下载、打印电子版认证证书。

 

完成课程教学内容学习和考核,成绩达到课程考核标准的学生(每门课程的考核标准不同,详见课程内的评分标准),具备申请认证证书资格,可在证书申请开放期间(以申请页面显示的时间为准),完成在线付费申请。

 

认证证书申请注意事项:

1. 根据国家相关法律法规要求,认证证书申请时要求进行实名认证,请保证所提交的实名认证信息真实完整有效。

2. 完成实名认证并支付后,系统将自动生成并发送电子版认证证书。电子版认证证书生成后不支持退费。


参考资料

教材:袁春风. 计算机系统基础(第2版) [M]. 北京:机械工业出版社,2018(7-8两章)

参考书目:Randal E. Bryant, David R. O'Hallaron. 深入理解计算机系统(原书第3版)[M]. 龚奕利,贺莲译  北京:机械工业出版社,2016

常见问题

1.学习“计算机系统基础”系列课程时,最重要的学习方法是什么?

首先,不要死记硬背,关键是要不断将所学内容关联起来,以真正理解所学内容。

其次,要多动手实践。不明白的地方就编写一个程序,通过打印结果或利用gdb等调试工具查看机器级代码来分析。

此外,多提问和多参与讨论。真理越辩越明,在与他人的讨论过程中,往往会忽然开朗,有时,一个问题自己冥思苦想几天都想不明白,但实际上课程讨论区早就有人讨论过了,或者在讨论区一提问,马上就有人帮你解决了。

 

2.“计算机系统基础”系列课程属于硬件课程还是软件课程?

该系列课程涉及到其他很多课程,包括硬件课程和软件课程。它与高级语言程序设计、组成原理、汇编、编译、链接和操作系统等课程的内容有关。虽然涉及到很多其他课程的内容,但是,我们在本课程中只会讲解这些课程内容之间的关联,而不会讲解这些课程的细节内容,例如,本课程不会讲解如何实现编译器和如何实现操作系统。

 

 3.《计算机系统基础》系列一共包含几门慕课?

包含以下三门已经上线的理论课程和另外两门将要上线的实践类课程。

1)计算机系统基础(一):程序的表示、转换与链接。

2)计算机系统基础(二):程序的执行和存储访问。

   (3)计算机系统基础(三):异常、中断和输入/输出。

   4)计算机系统基础(四):编程与调试实践。

   (5)计算机系统基础(五):x86模拟器编程实践