中断、陷入、故障、中止概念¶
- 中断:是由 CPU 外部 的硬件设备(如 I/O 设备、时钟等)触发的异步事件,用于通知 CPU 需要处理某些紧急或高优先级任务
- 异步:与当前执行的指令无关,随时可能发生。
- 可屏蔽:部分中断(如 I/O 中断)可以被 CPU 屏蔽(忽略)
- 示例:始终中断,I/O中断
- 陷入:程序主动触发 的同步事件,通常用于 系统调用或调试
- 故障: CPU 内部检测到的错误,通常由 指令执行异常 引起,可以恢复。
- 中止(Abort):终止是 不可恢复的硬件或系统级错误(如内存校验错误、总线故障),通常导致程序或系统崩溃
操作系统结构¶
Linux 内核设计的理念¶
Linux 内核设计的理念主要有这几个点: - MultiTask,多任务: 并发和并行 - SMP,对称多处理:每个CPU地位相等,对资源的使用权限也相同,多个 CPU 共享同一个内存 - ELF,可执行文件链接格式: - Monolithic Kernel,宏内核:Linux 的内核是一个完整的可执行程序,且拥有最高的权限。
Windows 设计¶
- 同样支持 MultiTask 和 SMP
- Windows 的可执行文件格式叫 PE,称为可移植执行文件,扩展名通常是
.exe
、.dll
、.sys
等。 - 混合内核:它的架构有点像微内核,内核里面会有一个最小版本的内核,然后其他模块会在这个基础上搭建,然后实现的时候会跟宏内核类似,也就是把整个内核做成一个完整的程序,