中断,异常和系统调用

系统调用:应用程序主动向操作系统发出的服务请求。(异步或同步)

异常:非法指令或其他原因导致当前指令执行失败后的处理请求。(同步)

中断:来自硬件设备的处理请求。(异步)

中断处理机制:

  1.CPU初始化 中断使能, 即设置不同中断所对应的处理过程。

  2.硬件:设置中断标志,依据中断向量调用相应中断服务例程(在中断向量表里查,然后调用异常服务例程或系统调用服务例程或中断服务例程)

  3.软件:现场保存(编译器的工作)

     中断服务处理(由上述工作相应的服务例程进行处理)

     清除中断标记(服务例程)

     现场恢复(编译器工作)

 

     系统调用:程序访问通过高层次API(C,C++,java库等)来调用系统调用的方法,不是直接调用系统调用接口。函数调用和系统调用使用不同的堆栈,分为用户态和内核态。

举例:客户去银行取钱,营业员从保险柜里拿出钱,然后交由客户。而不是客户自己去保险柜里拿钱。

 

      

      

 

posted @ 2016-05-22 09:52  kk_kk  阅读(565)  评论(0编辑  收藏  举报