终於讲完了同步机制,了解到当今电脑为了更多的并行行程,与更多的CPU,在同步机制上做了许多努力,从mutex, semaphore.... 到最後的RCU ,都让我大开眼界,今天要来讲重要的机制---中断。
中断是指在CPU运行时,由於内外部事件或由行程预先安排的事件引起的,此时CPU会暂时停止正在运行的行程,转而处理该内部或外部事件或预先安排的事件服务的行程中去,服务完毕後再返回去继续运行被暂时中断的程序。
同步中断由CPU本身产生,又称为内部中断。这里同步是指中断请求信号与代码指令之间的同步执行,在一条指令执行完毕後,CPU才能进行中断,不能在指令的执行期间。所以也称为异常(exception)。
异步中断是由外部硬件设备产生,又称为外部中断,与同步中断相反,异步中断可在任何时间产生,包括指令执行期间,所以也被称为中断(interrupt)。
一般来说,中断可以分为上下半部中断,为什麽需要有这样的规范呢?
在第一点中的局限性有以下几点:
所以总归来说,将interrupt 切为上下半部的理由就是想要降低interrupt的latency (中断处理的延迟),上半部会负责接收硬体中断的讯号,下半部会执行比较冗长的处理过程。
对於上半部的属性与要求有:
Go(又称 Golang)是 Google 开发的程序语言,详细简介在 wiki 上都可以找得到。 ...
今年春天重版出来的《尼尔:人工生命 ver.1.22474487139...》第二代《尼尔:自动人形...
今天要谈到的观察者模式也是很常见的一个模式,常出现在有两个以上需要互相沟通的物件之间 问题 假设有个...
阿嬷都看得懂的开始写第一支 .css 档案罗! 昨天我们介绍了怎麽使用 style 标签,把所有 C...
2018年司法院新闻稿 有关司法院及所属网路遭网军攻击事宜,本院说明如下: 一、事实经过:107年3...