关于中断的理解

Linux有一个中断向量表,中断向量表中有不同的项。这些项就是一个一个的“门”。穿过这些门才能真正

进入到中断服务程序。

门的种类和结构

这些门有不同的种类:任务们、中断们、陷阱门、调用门。

门由64位组成,逻辑成员(任务门除外)就是

                         1。TSS  (16位)任务的状态段,就是对运行任务时所需要的寄存器、堆栈或者叫现场的描述。

                         2。类型码(3位)代表这是什么门

                         3。P标志位 表示是否在内存

                         4。DPL (3位)运行级别

                        5。位移高16位,位移低16位

                         6。保留一位永远为0,另外三位永远为000

对IDT的初始化

         _ _init trap_init(void)  中使用 set_trap_gate( 偏移量,函数地址)  初始化

        set_trap_gate使用 set_gate(IDT表+偏移量,15,0,addr) 中间的参数 2项表示类型码和D位,三项表示DPL。

     init_irq()对外设中断进行设置。使用了set_intr_gate(偏移量,函数地址数组)

    函数地址数组interruput[]表示了所有使用相同中断的函数地址。所有的函数都是将中断的分码进行压栈,然后

调用同一个函数

 

 

 

 

                       

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值