本文转载自微信公众号「虚机」,作者cloud3 。转载本文请联系虚机公众号。
站在用户的角度思考问题,与客户深入沟通,找到惠州网站设计与惠州网站推广的解决方案,凭借多年的经验,让设计与互联网技术结合,创造个性化、用户体验好的作品,建站类型包括:网站设计、成都网站制作、企业官网、英文网站、手机端网站、网站推广、国际域名空间、网站空间、企业邮箱。业务覆盖惠州地区。
中断系统是现代PC的基础架构之一。中断处理在操作系统也具有举足轻重的作用 。
中断处理,伴随着软硬件的协同,伴随着外设与CPU的传递,伴随着内核栈和用户栈的切换,下面我们就看一下中断短暂而充实的一生。
以上是从设备触发到中断处理函数处理完毕的整个流程,为了看到中断处理的全貌,我们隐藏了一些实现细节,具体的细节以后再单独描述。
下面对每个调节进行简单的描述。
外部中断的发起者是设备,设备通过电平触发IRQ信号线产生一个中断。
检测到中断信号后,IOAPIC使用写内存的方式把中断信息发送到系统总线上。
LAPIC接收到中断信息后把中断能否发送给CPU处理。
CPU感知到中断线后,从LAPIC上接收中断号。
切换到内核栈。保存当前进程栈,例如在X86上会保存SS, ESP, EFLAGS, CS, EIP以及错误码。
然后通过IDTR寄存器和中断号找到中断服务程序的入口。
一般把中断处理分为两个半部:中断处理程序是上半部(top half)和下半部(bottom half)。
上半部立会即执行,只做有严格时限的工作,例如对接收的中断进行应答或复位硬件,这些工作都是在所有中断被禁止的情况下完成的。
能够被允许稍后完成的工作会推迟到下半部(bottom half)去做。
恢复之前保存的flag和寄存器状态,恢复之前运行的进程。
运行中断处理程序的下半部,把中断任务执行完成。
上面为了看到中断处理的全貌,我们隐藏了一些实现细节,具体的细节后面会在单独描述。
文章名称:图解中断|中断从产生到消失的一生
当前网址:http://www.shufengxianlan.com/qtweb/news44/301744.html
网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联