中断

任何操作系统都必须对计算机上的硬件设备进行有效管理。处理器的速度跟外围设备的速度不在一个数量级上,硬件的响应速度慢,内核应该在此期间处理其他事物,等到硬件真正完成请求操作再对他进行处理。

轮询不是好主意,有一种好的机制:让硬件在需要的时候向内核发出信号,这就是中断机制。(变内核主动为硬件主动)

中断本质上是一种特殊的电信号,由硬件发向处理器。

特定的中断总是与特定的设备相关联,并且内核知道这些信息。硬件发出中断是为了引起内核关注,等待内核处理:有新的按键等待处理,读取并处理这些东西吧!

中断是异步的。

异常

异常称为同步中断。在产生时必须考虑与处理器时钟同步。编程失误而导致的除0错误或者执行期间的缺页,都产生异常。

中断处理程序

中断处理程序运行于中断上下文(原子上下文),该上下文的执行代码不可阻塞。

上半部与下半部对比

想让中断程序运行快,又想其完成工作量多是矛盾的。一般把中断处理切为两个部分。中断处理程序是上半部-----接收到一个中断,它就立即开始执行,但只做严格时限的工作,例如对接收中断进行应答或复位硬件,能够被允许稍后完成的工作会推迟到下半部。

中断处理程序一般都需要通过操作硬件对中断到达进行确认,有时会从硬件拷贝数据,这些操作对时间很敏感,需要中断处理程序自己完成。

中断上下文

进程上下文是一种内核所处的操作模式,此时内核代表进程执行---例如执行系统调用或者运行内核线程。

中断上下文具有严格的时间限制,它打断了其他代码。中断上下文的代码应当迅速、简洁,尽量不使用循环处理繁重的工作。

参考文献:linux内核设计与实现

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值