当进入一个inteerupt处理程序,我们的第一个"禁止中断"上,cpu(使用类似的cli指令在x86).在时间中断是禁止的,假定所说的用户按字母'a'键盘上的,通常会导致中断。但是,由于中断是禁止的,这是否意味着:

  1. 中断处理程序对于'a'将永远不会被调用,由于中断是无障碍的关键部分或
  2. 中断将由操作系统,但延迟,一直到中断被重新启用。具体地说,将用户需要按'a'再次,如果他第一次压'a'是当时的中断是残疾人?
有帮助吗?

解决方案

通常,有一个中断"排队"通过硬件。

[中断往往只是一个逻辑门,可以坚持;一旦上,它保留在一段时间。]

如果用户打'a'只有一次的间隔期间当中断被禁用,它将登记册作为中断时,他们被重新启用。

如果用户在某种程度上成功地打'a'两次,间隔期间当中断是残疾人,一个将登记册作为中断时,他们在那里启用。它是否是第一或第二取决于确切的逻辑门配置。

其他提示

答案是,它取决于你是否已经处理一个键盘中断。

大多数的中断服务程序(ISR)有代码在终止他们通知的硬件,它已经"提供服务。" 在这种情况下键盘的控制、命令是写给它的确认收到字节。这是当时的承认,键盘控制器的硬件停止使用电信号中断的条件。

如果你正在处理一个非键盘中断,让我们说的火灾报警中断,然后键盘的硬件,其电称中断将触发作为关键的是压制。电信号被忽视,直到CPU已经中断重新启用。在结束服务的消防警报中断,火灾报警ISR承认的任何数据和重新启用中断的CPU。立即,CPU进入一个中断,因为键盘控制器仍然是电信号中断的条件。

如果你正在处理一个键盘中断,而该用户迅速类型 第二 击键在执行期间的键盘ISR,然后有一个机会,缺少的数据从第二键,或者接受它的后果。特别是,如果ISR重键盘控制器通过一个承认,但ISR没有实际收到的所有可用的字节的键盘控制器,那么这就是一个问题。

通常,一个ISR将首先处理中断引发其活,然后在承认的中断、投票的装置看到的,如果它已收到更多的数据,因为第一个中断。如果是这样,产生一个软件中断重新进入ISR和服务的设备。

简单的答案是一个中断的自动禁止进一步中断。中断应该是无障碍的最短时间只。第一条指令在原始在BIOS键盘ISR是 STI 为使中断。

快乐的答案是, PIC 把硬件的中断和甚至中断启用仅仅定时中断IRQ0可以中断的键盘ISR。当然一个例可能会发生无论哪种方式,但令人高兴的是这永远不会发生在当前的电脑。

这将是完全不可能的用户按"一个"两次在正常处理的一个中断。这将是非常不太可能甚至如果他按两把钥匙的时间,但硬件应至少举行的一个关键直到的CPU是准备好。

在个人电脑上--这是达到的方式回到我的PCXT天--键盘子系统可能住在该区域的13个关键机CPU。

禁止断有不同的证据。1.硬件故障 2.例外{例如:除零} 和等。

  1. 当硬件故障的发生,操作系统必须操作混合。
  2. 当例外发生,操作系统必须mangae系统和开关的另一个进程来处理断.

或者例如:I/O设备。如果断是不是,该计算机不是效率!

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top