操作系统的中断,异常,系统调用

//中断:
*硬件:
设置中断标志(CPU初始化)
1.将内部,外部事件设置中断标记
2.中断事件的ID
*软件:
1.保存当前处理状态
2.清除中断标记
3.恢复之前保存的处理状态
//异常:异常编号
1.保存现场
2.异常处理
*杀死产生异常的程序
*重新执行产生异常的指令
3.恢复现场
//系统调用:
1.程序访问是通过高层次的API接口,而不是直接进行系统调用
//通常情况下,与每个系统调用相关的序号,系统调用接口根据这些序号来维护表的索引

//系统调用接口,调用内核态中预期的系统调用,并返回系统调用的状态和其他任何返回值

//用户不需要知道系统调用时如何实现的,只需要获取API和了解操作新系统将什么作为返回结果,
操作系统接口的细节大部分隐藏在API中,通过运行程序支持的库来管理(用包含编译器的库来创建函数集)

//跨越操作系统边界的开销
1.在执行时间上的开销超过程序调用
2.开销:
*建立中断/异常/系统调用号与对应服务例程映射关系的初始化开销
*建立内核堆栈
*验证参数
*内核态映射到用户态的地址空间,更新页面映射权限
*内核态独立地址空间
*CacheTLB

猜你喜欢

转载自blog.csdn.net/Vodka688/article/details/113925941
今日推荐