美文网首页
中断与异常

中断与异常

作者: NiNko | 来源:发表于2020-03-12 12:29 被阅读0次

    通常CPU执行的指令有两种,分别是操作系统内核程序和用户自编程序。因此操作系统将CPU的状态划分为两种,分为用户态(目态)和核心态(又称管态,内核态)。在这两种状态下分别运行非特权指令和特权指令。
    在操作系统引入核心态和用户态这两种工作状态之后,就需要考虑两种状态的切换。操作系统不允许用户程序工作在核心态,但用户程序又需要某些核心态的功能,因此在操作系统中需要某些方法实现从用户态进入核心态,这种方法就是中断和异常。当发生中断和异常时,运行用户态的CPU会立即进入核心态,这是通过硬件实现的,比如用某个特殊寄存器的某一位表示CPU工作状态,0表示核心态,1表示用户态。


    • 中断

    中断也成为外中断,指来自CPU执行指令以外的时间发生,如I/O中断,时钟中断等。这一类中断通常与当前运行程序无关。

    • 异常

    异常也成为内中断,指源于CPU执行指令内部的事件,如程序的非法操作码,地址越界等,对异常的处理一般依赖于当前程序的运行现场,且异常不能被屏蔽,一旦出现需要立即处理。


    • 系统调用

    系统调用指用户在程序中调用操作系统提供的一些子功能,这些系统调用一般包括设备管理,文件管理,进程控制,进程通信,内存管理。系统调用的功能设计系统资源和进程管理等操作,需要某些特权指令才能完成。

    用户可以执行陷入指令(访管指令)发起系统调用,请求操作系统提供服务。

    相关文章

      网友评论

          本文标题:中断与异常

          本文链接:https://www.haomeiwen.com/subject/chqujhtx.html