当前位置: 技术问答>linux和unix
linux中断响应大概是多长时间?
来源: 互联网 发布时间:2017-05-20
本文导语: linux中断响应是多长时间?就是外部中断开始到linux响应外部中断经过的时间。 还有Linux中断响应函数是哪个? | 我说的中断顶半部,仅仅是获取终端,处理在下部。 你这个是直接在中断中处理,完了...
linux中断响应是多长时间?就是外部中断开始到linux响应外部中断经过的时间。 还有Linux中断响应函数是哪个?
|
我说的中断顶半部,仅仅是获取终端,处理在下部。
你这个是直接在中断中处理,完了还要给CPU中断。风险太大。
我觉得异步操作风险可控。一个取,一个读。只是这个处理上需要注意下。
|
这个时间跟CPU和内存的速度有关系,CPU处理一个指令的时间,可以网上搜搜看这么算。
没具体关注过这块,楼主弄明白了,跟大家分享下。
|
你可以使用示波器测试
|
|
很短很短,感觉绝对不会超过100个机器周期,最多微秒级别的吧
|
这个要看系统是抢占还是非抢占,另外系统其它中断的影响和中断的优先级也会对中断的响应存在影响,如果你只有一个中断,2.6以后的内核可以控制到100us以内
|
很短很短,感觉绝对不会超过100个机器周期,最多微秒级别的吧
|
这个要看系统是抢占还是非抢占,另外系统其它中断的影响和中断的优先级也会对中断的响应存在影响,如果你只有一个中断,2.6以后的内核可以控制到100us以内
|
软件中断会有长的时间延迟,因为要调用系统调用,而硬件中断几乎不会有延迟,CPU执行指令的时候每一条指令执行完都会检查IRQ线的电频高低,如果有中断则直接跳入中断处理程序去执行。
见《深入理解操作系统》Chapter 4 Interrupts and Exceptions.
见《深入理解操作系统》Chapter 4 Interrupts and Exceptions.
|
对于硬件中断没有具体的相应函数,其会根据实现有所不同,由于中断线非常珍贵,i386的cpu上可能只有16根中断线,每一个程序不能长时间占用中断控制线,在内核当中需要进行注册之后才能使用,并在使用完成之后应该立刻释放。
软件中断的调用就是大家熟悉的int指令了,如int 0x80是系统调用的软件中断。
软件中断的调用就是大家熟悉的int指令了,如int 0x80是系统调用的软件中断。
|
学习了!就个人经验,应该和系统是否抢占式和上下文切换的最差情况相关。
|
这文章可以学习下
|
你可以使用示波器测试
|
应该是吧,不过我没有验证过,也没量测过时间。
你干嘛这么在乎这个时间?这个处理时间不会影响性能吧