zoukankan      html  css  js  c++  java
  • 异常控制流

    异常分类:
    中断:是异步发生的,来自处理外部的I/O设备信号的结果。
    陷阱(陷入内核):实现系统调用,在用户程序和内核之间提供一个像函数调用一样的接口。
    故障:能够被故障处理程序修正的错误。
    终止:通常是由一些硬件引起的不可恢复的致命错误。

    逻辑控制流(logical control flow )就是一个进程在逻辑上的执行过程,因为CPU并不是一直只在执行某个单独进程的指令,但是从某个单独的进程的角度来看,这个进程就像是(只是像而已,所以叫逻辑上)独占着CPU一样。

    处理器提供一种机制,使进程可能在用户模式或内核模式下运行。在内核模式下,进程拥有更高的权限,比如能执行更多的指令、发起一次I/O操作等等。一个进程最初都是用户进程,只有通过异常才能到内核模式。在私有地址空间中,有一部分专门为内核模式分配的空间,包括代码、数据、堆和栈。

    信号处理原则
    当有多个信号到达时,遵循以下原则:
    (1)待处理信号被阻塞:程序正在处理handler函数时,如果又捕获到了一个SIGINT信号,这时候并不会停止handler函数的处理,而是将这个SIGINT信号放到带处理程序的位置(阻塞),直到handler函数执行完毕返回以后才接受这个待处理信号;
    (2)待处理信号不会排队等待:如果正在处理handler函数,接受到了2个信号,这时候先到的那个信号会变成待处理信号被阻塞,最后的那个信号直接被丢弃;
    (3)系统调用可以被中断:诸如read、wait函数,会阻塞进程一段时间,当处理程序捕获到一个信号时,被中断的系统调用在处理程序返回的时候就不会再执行了。

  • 相关阅读:
    解决IE下a标签点击有虚线边框的问题
    解决IE8下opacity属性失效问题
    用Vue.js开发微信小程序:开源框架mpvue解析
    使用pie.htc时Border-radius的兼容
    解决IE8下CSS3选择器 :nth-child() 不兼容的问题
    jQuery兼容浏览器IE8方法
    css3兼容IE8的方案 各个ie的hack
    JavaScript之旅(DOM)
    JavaScript之旅(三)
    JavaScript之旅(二)
  • 原文地址:https://www.cnblogs.com/lolau/p/10206127.html
Copyright © 2011-2022 走看看