中断也不是白来的

运行下面这段程序,填写它打印出来的结果。 DEV = 1000 IRQ = 50 def by_poll(n): return n * DEV def by_irq(n): return n * IRQ def by_

开始练习 →

自己写:模拟一次轮询

设备第 5 拍才好。数出轮询要问几次、一共花了几拍(每问一次算一拍)。

开始练习 →

中断次数多到什么程度就不划算

从 1 次开始往上找,中断的总开销第一次超过「干等一次」的那个次数。

开始练习 →

中断处理的第一步

中断来了之后,CPU 做的第一件事是【0】。

开始练习 →

为什么处理中断时要关中断

处理一个中断的过程中,通常会先把中断关掉。这是为了【0】。

开始练习 →

中断处理程序为什么要短

中断处理程序要尽量短,因为【0】。

开始练习 →

一次中断的五个步骤

运行下面这段程序,填写它打印出来的结果。 STEPS = ["存现场", "查向量表", "跑处理程序", "通知设备", "恢复现场"]

开始练习 →

中断开销都花在哪

运行下面这段程序,填写它打印出来的结果。 COST = {"存现场": 15, "查向量表": 5, "跑处理程序": 10, "通知设备":

开始练习 →

自己写:中断处理的五步

把五步走一遍,返回「执行了几步 / 现场存了几个寄存器 / 恢复后是否一致」。

开始练习 →

⚠️ 现场没存全会怎样

存现场时漏了一个寄存器,而处理程序正好改了它。⚠️ 程序不会报错——把恢复后的值和原值都打出来。

开始练习 →