问题标签 [interrupt]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
5710 浏览

hardware - 双处理器机器如何处理中断?

我对双核 CPU 如何处理中断有所了解。我想知道如何在具有多个物理处理器的板上实现中断处理。

任何中断责任是否由物理板的配置决定?每个处理器都必须能够处理某些类型的中断,例如磁盘 I/O。除非有一些电路来管理和分配中断到适当的处理器?我的猜测是该方案必须是处理器中立的,以便任何处理器和内核都可以运行中断处理程序。

如果一个内核正在等待磁盘读取,那么当磁盘准备好时,该内核会是运行中断处理程序的内核吗?

0 投票
4 回答
1637 浏览

c# - C#中可中断锁的语法

我怀疑这是一个非常愚蠢的问题:C# 中可中断锁语句的正确语法是什么?例如获取锁;如果锁定在锁定代码完成之前被中断,则从封闭方法中返回 false。可能完全是错误的术语......谢谢。

0 投票
4 回答
5515 浏览

linux - 连接两个 digium 卡和星号框时的 IRQ 问题

我有两个 Digium Wildcard TDM800P,每个都有 8 个 FXO 端口。当我同时连接两者时,IRQ 未命中开始出现,使我的计算机无响应且无法使用。

一张卡可以正常工作,但我需要所有 16 个 FXO 端口才能接听来自电信公司的电话。有没有办法让卡片相互通信,这样它们就不会产生尽可能多的中断。或者一种调整 Linux 为每张卡专用单独的 IRQ 的方法。

我尝试禁用音频、ACPI 和 USB 端口。仍然有太多的 IRQ 未命中。

0 投票
3 回答
12329 浏览

windows - Windows中的中断处理

我想知道哪些线程处理设备中断。当用户模式线程运行时出现中断时会发生什么?当系统处理中断时,其他用户线程是否也有机会运行?

请向我推荐一些描述窗口如何处理中断的参考资料。

0 投票
3 回答
1223 浏览

c++ - Handling Interrupt in C++

I am writing a framework for an embedded device which has the ability to run multiple applications. When switching between apps how can I ensure that the state of my current application is cleaned up correctly? For example, say I am running through an intensive loop in one application and a request is made to run a second app while that loop has not yet finished. I cannot delete the object containing the loop until the loop has finished, yet I am unsure how to ensure the looping object is in a state ready to be deleted. Do I need some kind of polling mechanism or event callback which notifies me when it has completed?

Thanks.

0 投票
2 回答
891 浏览

ruby - Ruby、windows、active_record 和 Control-C

active_record 对 windows 下的信号处理做了什么(我在 mac 上没有看到相同的版本)导致它的行为如此奇怪?例如:

当我运行上面的代码(ruby 1.8.6,gem 1.3.1,activerecord 2.2.2)时,我可以在第一次睡眠期间多次点击 ^C,但是在需要 activerecord 之后的第一次中断会导致脚本终止。在上述情况下,陷阱仍然执行,只是无法让程序继续执行。通常。

删除第二个陷阱调用对行为没有任何影响。

真正令人烦恼的是,在某些情况下,陷阱根本无法执行。考虑到这样做的全部目的是让我的代码自行清理(删除它在数据库中的足迹,以便下一个人看到一个理智的状态),这是一个真正的问题。例如:

在看到 puts 后按 ^C 根本不会执行陷阱。

我只在需要 active_record 后才看到这个问题。有解决方法吗?我很想知道这是一个错误还是有某种解释。正如我所说,我在 mac 上对此没有任何问题 - 重复 ^Cs 会导致陷阱 proc 的多次执行。

谢谢...

0 投票
6 回答
2498 浏览

x86 - 如何识别 x86 上的设备特定中断?

在英特尔软件开发人员手册中,它说中断向量 32-255 通常是用户为外部 IO 设备定义的。在我的系统编程课上,我必须开发一个简单的设备驱动程序。我的问题是如何定义用于特定设备的特定中断向量?这是通过 BIOS 完成的吗?

注意:我们正在开发一个简单的操作系统,所以我的情况非常具体,但是,最后我需要了解这一切在 x86 系统上是如何发生的。目前我们的系统设置为将 32 个以上的中断向量分配给串行端口和键盘等设备。在阅读英特尔 82801EB ICH5 IO 控制器的数据表时,特别是关于 8259 PIC 的部分,它说 IRQ15 是辅助 IDE 通道。最终将如何将其作为中断向量放入堆栈?

我可能只是很困惑,以至于这个问题没有意义,所以我提前道歉。

编辑:所以我们的系统编程类有一个非常简单的操作系统,它具有用于安装 ISR 的内核例程,以处理给定向量编号的特定中断。在上个季度的课堂上,教授给了我们一个头文件,将键盘定义为向量编号 0x2c 或类似的东西。我试图找出如何使用我们的内核例程将主要和/或次要 IDE 通道中断映射到各种 ISR。目前,所有未使用的中断向量都有一个默认处理程序,如果发生中断,它将打印消息,因此 IDE 中断目前甚至没有打开,但这是另一个问题。

0 投票
5 回答
1308 浏览

java - Java中有什么方法可以记录*每个*线程中断?

我想以某种方式记录每次Thread.interrupt()调用,记录哪个线程发出调用(及其当前堆栈)以及识别有关哪个线程被中断的信息。

有没有办法做到这一点?搜索信息,我看到有人提到实施安全管理器的可能性。这是否可以在运行时完成(例如,在 Applet 或 Web Start 客户端中),还是您需要使用已安装的 JVM 工具来执行此操作?

还是有更好的方法来做到这一点?

0 投票
3 回答
1008 浏览

assembly - 延续(如在 Smalltalk 中)和中断(如在汇编器中)有什么区别?

我正在努力理解延续的概念(在 Seaside with Smalltalk 中使用)。维基百科的一个片段说:

“......指的是一流的延续,它是使编程语言能够在任何时候保存执行状态并在程序中稍后返回到该点的结构......”

这难道不是另一种表达汇编程序员在编写中断时会做什么的方式吗?还是我完全错过了重点!

0 投票
4 回答
493 浏览

java - Java中的线程

我试图让我的主线程产生一个新线程,并在一段时间后引发中断标志。当它这样做时,生成的线程应该看到该标志并自行终止。

主线程看起来像这样:

生成的线程在其代码中散布着以下内容:

当我处于调试模式时,一切正常。中断标志由主线程引发并被衍生线程捕获。但是,在常规运行模式下,无论我设置多长时间,生成的线程似乎都没有收到中断标志。

有谁知道我做错了什么?

注意:我使用的是 Ubuntu,而且我对任何 Linux 都是新手。问题可能出在操作系统上吗?我没有在任何其他操作系统上测试过代码。