Linux设备驱动开发详解--笔记10--中断与时钟

中断:cpu在执行程序的过程中,出现了某些突发事件时cpu必须暂停执行当前的程序,转去处理突发事件,处理完毕后cpu又返回原程序被中断的位置并继续执行

 

根据中断入口跳转方法的不同,中断分为向量中断和非向量中断。

采用向量中断的cpu通常为不同的中断分配不同的中断号,当检测到某中断号的中断到来后,就自动跳转到与该中断号对应的地址执行。不同中断号的中断油不同的入口地址。

非向量中断的多个中断共享一个入口地址,进入该入口地址后再通过软件判断中断标志识别具体是哪个中断

也就是说,向量中断由硬件提供中断服务程序入口地址,非向量中断由软件提供入口地址

 

Linux将中断处理程序顶半部和底半部,顶半部完成尽可能少的比较紧急的功能,它往往只是简单的读取寄存器的中断状态并清除中断标志后进行“登记中断“的工作。”登记中断“指将底半部处理程序挂到底半部执行队列中去

 

底半部几乎做了中断处理程序所有的事情,而且可以被性的中断打断,这是和顶半部最大的不同

 

Linux实现的底半部的机制主要有tasklet、工作队列和软中断

 

硬中断、软中断和信号的区别:

硬中断时外部设备对cpu的中断,软中断通常是硬中断服务程序对内核的中断,而信号则是由内核(或其他进程)对某个进程的中断

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值