第三章 - 第 2 课(全) - 中断、异常与系统调用

本章概要

本章主要讨论了操作系统中三个核心概念:中断、异常和系统调用。这些概念在操作系统的设计和实现中起着至关重要的作用,它们共同构成了操作系统内核与用户空间程序之间交互的基础。

第一节内,我们讲了中断和异常。中断是计算机系统中一种重要的同步机制,用于通知 CPU 有外部事件或内部条件发生,需要 CPU 立即处理。当中断发生时,CPU 会暂停当前正在执行的程序,保存应用上下文,并跳转到相应的中断服务程序(ISR)去处理中断事件。处理完毕后,CPU 会恢复之前保存的现场信息,并继续执行被中断的程序。中断使得 CPU 能够高效地处理多任务,实现并发执行。

而异常是程序执行过程中发生的错误或异常条件,如除零错误、非法指令等。它与中断不同,异常是由 CPU 内部检测到的,并且通常是由程序错误导致的。CPU 会跳转到相应的异常处理程序去处理异常事件。异常处理完成后,CPU 会根据异常的性质选择恢复程序执行或终止程序。我们在第一节的末尾,将两者进行了对比。

之后的第二节,我们涉及到了系统调用。它是用户空间程序请求操作系统内核服务的一种机制。系统调用是用户空间与内核空间之间交互的桥梁,它使得用户空间程序能够访问底层硬件资源、执行特权操作以及实现进程管理、文件访问等功能。系统调用的实现依赖于中断机制,当用户空间程序发出系统调用请求时,CPU 会陷入内核态并执行相应的系统调用处理程序。我们在节内,进一步讨论了提高其性能的可能性。

本章目录