为什么需要中断?
答案:处理器的速度比外设快很多,内核必须要处理其他任务,只有当外设准备好了,CPU才转过来处理外设的事务。
一般通讯方式为:轮询(polling)、中断(interrupt),除了网络传输适合用轮询外,一般其他情况都是用中断。
中断分类
中断是指 CPU 正常运行期间,由于内外部事件或程序预先安排的事件,引起的 CPU暂时停止正在运行的程序,转而为该内部或外部预先安排的事件服务的程序中去,服务完毕后再返回去继续执行被暂时中断的程序。
常说的中断其实是第一种,异步中断。
陷阱就是系统调用,从用户态陷入到内核态,比如调用 open、write 等系统调用,也算中断。这两种很正常,所以会返回到下一条指令。
故障就是遇到了内存缺页等情况,会返回到当前指令继续执行,看看内核是否会修复完毕,如果修复不了就挂掉了。终止就是系统直接挂掉了。
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。
举报投诉
-
处理器
+关注
关注
68文章
19461浏览量
231415 -
Linux
+关注
关注
87文章
11354浏览量
210660 -
中断
+关注
关注
5文章
900浏览量
41838 -
系统
+关注
关注
1文章
1020浏览量
21447
发布评论请先 登录
相关推荐
Linux内核中断设计与实现
裸机编程中使用中断比较麻烦,需要配置寄存器、使能IRQ等等。而在Linux驱动编程中,内核提供了完善的终端框架,只需要申请中断,然后注册
发表于 07-29 08:57
•840次阅读
![](https://file1.elecfans.com/web2/M00/82/E8/wKgZomRl1CaAFE8IAABtAqgrQGU182.png)
面向嵌入式Linux系统的软中断设计与实现
本文在分析标准Linux 内核的软中断机制的演化以及实现原理的基础上,提出并实现了一个面前嵌入式Linux 系统的软中断技术。该技术为嵌入式
发表于 08-03 11:20
•16次下载
Linux 2.6 中断处理原理简介
Linux 2.6 中断处理原理简介
中断描述符表(Interrupt Descriptor Table,IDT)是一个系统表,它与每一个中断
发表于 02-05 10:52
•803次阅读
linux gpio做中断源
Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。今天主要以linux gpio做
发表于 11-17 15:50
•5547次阅读
你了解linux的中断机制?
中断是指在CPU正常运行期间,由于内外部事件或由程序预先安排的事件引起的CPU暂时停止正在运行的程序,转而为该内部或外部事件或预先安排的事件服务的程序中去,服务完毕后再返回去继续运行被暂时中断的程序。Linux中通常分为外部
发表于 05-05 15:30
•745次阅读
Linux驱动技术之一内核中断
在硬件上,中断源可以通过中断控制器向CPU提交中断,进而引发中断处理程序的执行,不过这种硬件中断体系每一种CPU都不一样,而
发表于 05-08 13:49
•668次阅读
需要了解的Linux的IRQ中断子系统
在Linux中断子系统(generic irq)出现之前,内核使用__do_IRQ处理所有的中断,这意味着__do_IRQ中要处理各种类型的中断
发表于 05-10 10:56
•1498次阅读
嵌入式Linux中断驱动
用过STM32的大概都知道,基本每个GPIO管脚都支持中断模式,这样在检测外部插入一个硬件设备时,通过GPIO管脚电平中断就非常方便。那么AM3354的片子是否支持GPIO管脚电平中断呢?答案是肯定
发表于 11-01 16:57
•4次下载
![嵌入式<b class='flag-5'>Linux</b><b class='flag-5'>中断</b>驱动](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
linux内核-时钟中断
make是靠时间标记来确定是否需要重新编译以及链接的。瞌睡时钟中断的重要性还远不止于此。我们在中断的博客中看到,内核在每次中断(以及系统调用
发表于 11-23 17:51
•12次下载
![<b class='flag-5'>linux</b>内核-时钟<b class='flag-5'>中断</b>](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
Linux为什么中断不允许休眠
Linux 为什么中断不允许休眠? 所谓的睡眠,就是调用 schedule 让出 CPU,调度器选择另外个进程继续执行,这个过程涉及进程栈空间的切换。 1、假如中断上下文中调用 schedule
评论