中断上下半部原理以及实践
来源:互联网 发布:电梯曳引轮加工数据 编辑:程序博客网 时间:2024/05/21 14:49
中断一般可以分成上半部以及下半部,所谓中断上半部cpu通常是关中断的,这个时候主要是从硬件那里接收一些数据,然后触发中断下半部。一出中断后,根据相应的中断下半部的优先级去执行相应的中断下半部。中断下半部主要用于数据的处理,这个时候中断往往是打开的。为什么要有中断上下半部的原因主要有两点:
1 如果中断函数内处理的事情非常多的话,因为这个时候cpu 是关中断的,这样会无法及时相应其它的中断,对实时性损害太大。
2 中断的处理是可以是有优先级的,有的硬件设备的中断处理可以延迟处理,但是有的必须马上要处理,这也是为什么中断下半部有task 0 和workqueue, idle event的原因。
具体流程如下图所示:
raw os支持的中断下半部方法有task 0 以及workqueue, task 0 的优先级要高于workqueue。workqueue的优先级是高于idle event 的。task 0 和workqueue的区别是task 0 不能调用能引起睡眠的函数,但是workqueue是能调用引起睡眠的函数的, idle event是基于事件驱动的,优先级是最低的,也可以做为中断下半部去使用,如果这个中断的处理优先级是很低的话。
综上所述,raw os为软件化的区分中断优先级提供了有效地手段,即task 0,workqueue以及idle event。对于系统的实时性也有了根本的保障。
- 中断上下半部原理以及实践
- 中断上下半部原理以及实践
- [笔记分享] [中断] 中断申请释放以及上下半部
- 中断的上下半部
- 中断处理--上下半部机制
- 中断处理--上下半部机制
- 中断处理的上下半部
- 理解ARM中断原理以及中断嵌套
- 关于软中断原理,以及中断栈的概念等
- 中断上下部分
- 中断上下部分
- linux内核中断、异常、系统调用的分析以及实践
- linux内核中断、异常、系统调用的分析以及实践
- linux内核中断、异常、系统调用的分析以及实践
- linux内核中断、异常、系统调用的分析以及实践
- 1-12 S3C2440中断的原理与实践
- UPnP协议编程实践以及原理
- mysql分布式数据库原理以及实践
- fail2ban 的使用
- Android ActionBar详解
- Struts+Spring+Hibernate的技术实现
- jsp/servlet/struts/hibernate/spring内部实现机制
- linux下如何批量查找或替换文件中的内容?
- 中断上下半部原理以及实践
- 使用struts+spring+hibernate 组装web应用
- 解决ssh配置无密码登录后 又出现输入密码的情况--hadoop集群配置
- sencha touch 2 添加使用新的按钮图标和自带图标文件位置
- php常用函数
- 大话Sheepdog 1 – 智能节点管理
- 使用Sheepdog体验Openstack的弹性块服务
- glibc2.16.0阅读笔记
- 准备一个安全可靠的发布流程