最容易理解的中断和异常

         这里是我想到的最容易分辨中断和异常的案例。
         现在正在开一场音乐选秀,有主持人和各位要演唱的歌手。
         主持人(OS)和选手(1进程)想要让自己的声音被所有人听见,就必须要用话筒(CPU),且现场只有一个话筒(CPU),当选手(1进程)使用话筒(CPU)的时候,话筒是蓝色(OS处于用户态),当主持人(OS)使用话筒的时候,话筒是红色(核心态)。
​          中断(外中断):现在每位歌手(1进程)有100秒(时间片)用话筒(用户态)歌唱时间,一旦到时间,现场的提示响(时钟中断)了,主持人(OS)会立即强行夺走歌手的话筒(CPU),话筒变成红色(核心态),并宣布下一位选手登场(中断程序),将话筒交给这位歌手(2进程),话筒由红色变为蓝色(核心态–>用户态)。以此往下推。这里的时钟中断是内中断(狭义中断)。
​          异常(内中断):如果选秀进行中,某位选手(波澜哥,3号进程)唱的实在太难听了(出现异常),身为主持人的韩红(OS)听不下去了,立马夺回由蓝色(用户态)变成红色(核心态)的话筒(CPU),一脚将波澜哥踢出去(异常处理),再将红色(核心态)话筒(CPU)转交给下一个选手(4号进程),话筒变为蓝色(用户态)。这里难听的歌声就是异常,是进程自己出现的问题。
​          从这里我们不难发现,异常是进程内部自己出现的问题,中断是外部发生的,例如时钟中断,IO中断等。且只有中断发生,用户态才能变为核心态。
​          当然异常包括陷入,终止,故障。中断信号也对应不同的中断处理程序

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值