悟空学Linux专栏----第33篇
2015-07-14 10:10
316 查看
最近八戒比较开心,自从上次他的18层梦的事情被媒体大肆报道之后,八戒就一下子成了网络红人。也正因为八戒的网上人气的不断攀升,所以越来越多的学生喜欢八戒的课了。这着实让八戒有点受宠若惊,所以八戒决定邀请悟空、唐僧、沙僧来听课。
八戒:同学们,大家好,我们今天要上的课是Linux中断的控制。
2号童鞋:老师,中断的控制是不是就是对中断的关闭和打开操作呢?
八戒:你理解的很对,中断控制是由中断控制器来控制,CPU通过向中断控制器发送控制指令,来达到中断的控制。不过中断控制的操作不叫打开和关闭,专业术语叫禁止和激活。
悟空:中断禁止函数有哪些呢?
八戒:中断禁止函数有四个“local_irq_save”、“local_irq_disable”、“disable_irq”、“disable_irq_nosync”。这四个函数各有不同,但是功能相似。“local_irq_save”是禁止本地中断,不过他在禁止之前先会保存现场,为后面的恢复现场提供保障。“local_irq_disable”函数怎只是禁止中断,而并不提供现场的保护和恢复。“disable_irq”函数只是禁止单个中断,而且这个函数将等待禁止中断的函数执行返回。“disable_irq_nosync”函数也是禁止单个中断,只是这个函数禁止中断的时候并不等待中断处理程序的执行完毕。
悟空:我觉得这四个函数就像我们师徒四人。 “local_irq_save”就像我一样,最负责任(保存本地中断的当前状态),干的事情最多,也被骂的最多。“local_irq_disable”函数像八戒,是最不负责人的(不保存本地中断的当前状态),喜欢蛮干,但是却最受欢迎。“disable_irq”函数像沙师弟,能力小(只禁止一个中断)。“disable_irq_nosync”函数好像师傅,能力最小,干事也最暴力(强制退出,不等待中断处理函数的返回)。
唐僧:悟空,为师在你心里中这么差劲啊。
悟空:哎呀,怎么师傅还真来听课啦。
八戒:同学们,大家好,我们今天要上的课是Linux中断的控制。
2号童鞋:老师,中断的控制是不是就是对中断的关闭和打开操作呢?
八戒:你理解的很对,中断控制是由中断控制器来控制,CPU通过向中断控制器发送控制指令,来达到中断的控制。不过中断控制的操作不叫打开和关闭,专业术语叫禁止和激活。
悟空:中断禁止函数有哪些呢?
八戒:中断禁止函数有四个“local_irq_save”、“local_irq_disable”、“disable_irq”、“disable_irq_nosync”。这四个函数各有不同,但是功能相似。“local_irq_save”是禁止本地中断,不过他在禁止之前先会保存现场,为后面的恢复现场提供保障。“local_irq_disable”函数怎只是禁止中断,而并不提供现场的保护和恢复。“disable_irq”函数只是禁止单个中断,而且这个函数将等待禁止中断的函数执行返回。“disable_irq_nosync”函数也是禁止单个中断,只是这个函数禁止中断的时候并不等待中断处理程序的执行完毕。
悟空:我觉得这四个函数就像我们师徒四人。 “local_irq_save”就像我一样,最负责任(保存本地中断的当前状态),干的事情最多,也被骂的最多。“local_irq_disable”函数像八戒,是最不负责人的(不保存本地中断的当前状态),喜欢蛮干,但是却最受欢迎。“disable_irq”函数像沙师弟,能力小(只禁止一个中断)。“disable_irq_nosync”函数好像师傅,能力最小,干事也最暴力(强制退出,不等待中断处理函数的返回)。
唐僧:悟空,为师在你心里中这么差劲啊。
悟空:哎呀,怎么师傅还真来听课啦。
相关文章推荐
- 许多数据中心的工作者很满意他们的工作,将鼓励他们的孩子继续从事这份工作
- 一步一步跟我学易语言之第二个易程序菜单设计
- VB实现的16位和32位md5加密代码分享
- 我的服务器SQL2000的sqlserver占用了90%的cpu,怎么查是那个库?
- MySQL服务器进程CPU占用100%的解决方法
- 基于逻辑运算的简单权限系统(原理,设计,实现) VBS 版
- C#中设计、使用Fluent API
- 使用MySQL Slow Log来解决MySQL CPU占用高的问题
- MySQL抛出Incorrect string value异常分析
- 笔记本下什么是迅驰处理器(cpu)相关资料第1/2页
- doscan.exe进程占用了大量的CPU和内存的解决方法
- 基于逻辑运算的简单权限系统(原理,设计,实现) VBS 版
- VB的32位程序在64位系统中出现文件和注册表自动转向的解决方法
- JavaScript 组件之旅(一)分析和设计
- 详解JavaScript中的异常处理方法
- java程序中的延时加载异常及解决方案
- .NET(C#):Emit创建异常处理的方法
- C# 事件的设计与使用深入理解
- 大型网站设计注意事项大全