每日月的8之linux内核设计与实现——中断与中断处理

计算机中CPU需要与外围设备硬件进行通信,而二者之间的速度差距使得让CPU等待外围设备处理完成这绝不是个好办法。。

所以,在外围设备处理数据期间,CPU去执行其他任务。。

但是,当外围设备处理完数据后,CPU怎么知道呢?一种办法是CPU周期性的轮询,这太浪费CPU时间。。

所以,引入了中断机制,硬件在需要的时候想内核(确定是内核,不是CPU,这种机制应该是软件层面的。。。,错了,其实还是CPU接受硬件中断信号,但怎么处理则由内核来定义)发送信号(linux signal?)...


每个中断设备都有其对应的中断号IRQ n,使得内核能够区别对待。。


有软件引发的异常(最常见的是操作系统调用异常trap,陷入内核),其它如错误指令(除0),缺页等都会使处理器产生异常,以通知内核去处理。。所以实际上内核中对中断和异常的处理很类似。。。


异常与中断的差别,处理软件方式,还有就是它是与处理器时钟同步的。。。


中断处理程序(interrupt handler)或中断服务例程(ISR),,,

一个设备的中断处理程序是其设备驱动程序(内核对硬件进行管理的程序)的一部分。。

在实现中,中断处理程序就是具有特定类型声明(方便内核以标准的方式进行处理)的C函数。。。

中断处理程序被内核调用来相应中断,并运行在中断上下文(原子上下文,中断代码执行不可阻塞)。。。



OVER!!!明天看看所谓的上半部与下半部。。。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值