思维导图
CPU上会有两种程序
中断是让操作系统内核夺回CPU使用权的唯一途径
内核态 —-> 用户态: 执行一条特权指令,—修改PSW的标志位为”用户态“, 这个动作意味着操作系统主动让出CPU使用权
用户态 —-> 内核态: 由中断引发, 硬件自动完成变态的过程 ,触发中断信号意味着操作系统将强行夺回CPU的使用权。
与当前执行的指令有关, 中断信号来源于CPU内部
由陷入指令引发的, 是应用程序故意引起的
由错误条件引起的 , 可能被内核程序修改 ,内核程序修复后会把cpu的使用权交给应用程序, 让他继续执行。
由致命错误引起的 , 内核程序无法修复的错误。 所以内核就不会将cpu使用权交给应用程序 。
如: 非法的使用特权指令。
与当前执行的指令无关, 中断信号来源于CPU外部
不同的中断信号 ,需要用不同的中断处理程序来处理, 当cpu检测到中断信号后, 会根据中断信号的类型去查询”中断向量表“ , 以此来找到相应的中断处理程序在内存中的存放位置。
操作系统作为用户 和 计算机硬件之间的接口, 需要向上提供一些 简单易用的服务接口。 主要包括 命令接口和程序接口, 其中程序接口 由一组系统调用组成。
需要通过系统调用来达到对共享资源的一种调度的作用。
应用程序通过系统调用请求操作系统的服务, 而系统中的各个共享资源都由操作系统内核统一进行掌管, 因此 ,凡是与共享资源有关的操作 (如: 内存分配, IO操作,文件管理等) ,都必须通过系统调用的方式像操作系统内核提出服务请求, 由操作系统内核代为完成 。 这样可以保证系统的稳定性和安全性。 防止用户进行非法操作。
重听, 相对来说是重点1.3_3_系统调用
6.10