Linux Interrupt 中断介绍

发布时间: 更新时间: 总字数:641 阅读时间:2m 作者: 分享 复制网址
专栏文章
  1. Linux 基础知识
  2. chroot 技术简介
  3. Linux 中个目录说明
  4. 进程、线程、协程的作用和区别
  5. Linux 动态链接库和静态链接库
  6. Linux PAM 可插拔认证模块介绍
  7. Linux limits.conf 详解与配置
  8. Linux Signal 信号量介绍
  9. Linux GDB 调试
  10. Linux core dump 文件介绍
  11. Linux procfs 介绍
  12. Linux 进程 /proc/PID/status 深入分析
  13. Linux sysfs 介绍
  14. Linux nsswithch.conf 详解
  15. Linux Systemd 介绍
  16. Linux Interrupt 中断介绍(当前)
  17. Linux namespace 介绍
  18. Linux Cgroups 介绍
  19. Linux Capabilities 介绍

Linux Interrupt(中断) 是指处理器接收到来自硬件或软件的信号,提示发生了某个事件应该被注意,这种情况就称为中断。

分类

  • 硬中断:接收到来自外围硬件(相对于中央处理器和内存)的异步信号,导致处理器通过一个执行 信息切换(context switch) 来保存执行状态(以程序计数器程序状态字寄存器信息为主)
  • 软中断:接受来自软件的同步信号,通常作为CPU指令集中的一个指令,以可编程的方式直接指示这种执行信息切换,并将处理导向一段中断处理代码

其中,发出中断的信号称为进行中断请求(interrupt request,IRQ)

特点

  • 硬中断服务函数不能传递参数和返回值,软中断可以
  • 中断通常用来处理比较紧急的事情
  • 响应及时,如果数据量较小,则不会占用太多的CPU事件

中断上半部分和下半部分

  • 上半部分:中断处理程序是上半部分。上半部分在收到中断后立即运行,仅执行对时间要求严格的工作,例如确认收到中断或重置硬件
  • 下半部分:可以在以后执行的工作推迟到下半部分。下半部分将在更方便的时间运行,并启用所有中断

相关文件

  • /proc/interrupts : 系统中断信息
  • /proc/irq/ : 查看指定进程的irq的信息
cat /proc/interrupts
            CPU0       CPU1
   0:        131          0   IO-APIC-edge      timer
   1:         13          0   IO-APIC-edge      i8042
   8:          1          0   IO-APIC-edge      rtc0
   9:          0          0   IO-APIC-fasteoi   acpi
  12:         16          0   IO-APIC-edge      i8042
  14:          0          0   IO-APIC-edge      ata_piix
  15:     115907          0   IO-APIC-edge      ata_piix
  16:        189          0   IO-APIC-fasteoi   vmwgfx
  17:       7091       2638   IO-APIC-fasteoi   ioc0
  19:         37     180949   IO-APIC-fasteoi   ens33
  24:          0          0   PCI-MSI-edge      PCIe PME, pciehp
...
 NMI:          0          0   Non-maskable interrupts
 LOC:    4319054    4488832   Local timer interrupts
 SPU:          0          0   Spurious interrupts
 PMI:          0          0   Performance monitoring interrupts
 IWI:     128419     131150   IRQ work interrupts
 RTR:          0          0   APIC ICR read retries
 RES:     452676     472036   Rescheduling interrupts
 CAL:       4007       6384   Function call interrupts
 TLB:      54125      50163   TLB shootdowns
 TRM:          0          0   Thermal event interrupts
 THR:          0          0   Threshold APIC interrupts
 DFR:          0          0   Deferred Error APIC interrupts
 MCE:          0          0   Machine check exceptions
 MCP:        398        398   Machine check polls
 ERR:          0
 MIS:          0
 PIN:          0          0   Posted-interrupt notification event
 NPI:          0          0   Nested posted-interrupt event
 PIW:          0          0   Posted-interrupt wakeup event
$ ls /proc/irq/1/
affinity_hint  i8042  node  smp_affinity  smp_affinity_list  spurious
专栏文章
  1. Linux 基础知识
  2. chroot 技术简介
  3. Linux 中个目录说明
  4. 进程、线程、协程的作用和区别
  5. Linux 动态链接库和静态链接库
  6. Linux PAM 可插拔认证模块介绍
  7. Linux limits.conf 详解与配置
  8. Linux Signal 信号量介绍
  9. Linux GDB 调试
  10. Linux core dump 文件介绍
  11. Linux procfs 介绍
  12. Linux 进程 /proc/PID/status 深入分析
  13. Linux sysfs 介绍
  14. Linux nsswithch.conf 详解
  15. Linux Systemd 介绍
  16. Linux Interrupt 中断介绍(当前)
  17. Linux namespace 介绍
  18. Linux Cgroups 介绍
  19. Linux Capabilities 介绍
最新评论
加载中...
Home Archives Categories Tags Statistics