zoukankan      html  css  js  c++  java
  • 中断与异常详解(一)

    Intel x86共有256种异常或者中断,也就是常说的中断向量,分别有对应的中断类型码,分布如下

    0-31

    异常和非屏蔽中断

    32-47

    I/O设备引起的屏蔽中断,书中所讲为8259A单片机来处理响应34号中断外的其他中断

    48-255

    标识软中断,linux系统只使用了128号即0x80来实现系统内调用,在用户态下执行int 0x80汇编,cpu切换到内核态,执行system_call()函数

    对于cpu跑指令的过程中遇到的突发情况分为两大类

    CPU内部

    cpu内部出现的问题,必须马上处理,所以叫异常

    CPU外部

    cpu外部出现问题,可以不马上处理,所以采用可屏蔽和不可屏蔽中断的方式来区分。

    为了管理方便,异常和不可屏蔽中断都当作异常来处理,这类问题有专门的异常处理程序,是linux要解决的问题。

    0-17号是intel定义异常,除了345(以及后面的128)号是陷进外(留给系统调用),其他的都是故障,cpu跑不下去了,所以需要处理

    18-31号为将来的cpu保留

    32-478259A响应,对应下面的IRQ0-IRQ1534号中断也就是IRQ2不知道做什么

    还有个128号软中断系统调用

  • 相关阅读:
    利用服务器实现疫情查询小系统(Web版+APP)
    第五周总结
    第四周总结
    初试python爬取网页数据
    使用ECharts完成数据可视化
    第三周总结
    第二周总结
    求数组中最大子数组的和
    软工第二周博客作业
    MySQL学习笔记(3)——创建、查看、修改、删除数据库
  • 原文地址:https://www.cnblogs.com/hmxb/p/4902751.html
Copyright © 2011-2022 走看看