Linux 手动生成计时器中断
在我的机器上 /proc/interruptsLinux 手动生成计时器中断,linux,timer,interrupt,Linux,Timer,Interrupt,在我的机器上 /proc/interrupts CPU0 CPU1 CPU2 CPU3 0: 54 0 0 0 IO-APIC-edge timer 1: 10 0 0 0 IO-APIC-edge i8042 6: 2 0
CPU0 CPU1 CPU2 CPU3
0: 54 0 0 0 IO-APIC-edge timer
1: 10 0 0 0 IO-APIC-edge i8042
6: 2 0 0 0 IO-APIC-edge floppy
8: 1 0 0 0 IO-APIC-edge rtc0
9: 0 0 0 0 IO-APIC-fasteoi acpi
12: 16 0 0 0 IO-APIC-edge i8042
14: 0 0 0 0 IO-APIC-edge ata_piix
15: 3984107 0 0 0 IO-APIC-edge ata_piix
16: 2 0 0 0 IO-APIC-fasteoi vmwgfx
17: 980727 939643 1334876 770403 IO-APIC-fasteoi ioc0
24: 0 0 0 0 PCI-MSI-edge PCIe PME, pciehp
25: 0 0 0 0 PCI-MSI-edge PCIe PME, pciehp
26: 0 0 0 0 PCI-MSI-edge PCIe PME, pciehp
27: 0 0 0 0 PCI-MSI-edge PCIe PME, pciehp
28: 0 0 0 0 PCI-MSI-edge PCIe PME, pciehp
我了解中断,我想了解定时器中断。
也就是说,每次发生计时器中断都会触发以下主要活动,比如更新系统启动后经过的时间
在我的机器上,只显示54,但是机器已经从几天前就启动了
我错过了什么
第二个问题是,如何手动生成中断,使计数从54变为55?您不生成计时器。硬件确实如此(可能每秒有数百次中断)。内核配置硬件来实现这一点
还请阅读,这是处理用户landlinux应用程序中与时间相关的内容的方法(这可能对您更重要)
如果您关心如何处理中断,那么您可以编写自己的操作系统和(然后linux
标签将不再是主题)。请参阅(可免费下载)。有关操作系统开发的实用提示,请参见wiki
操作系统在这里隐藏硬件细节,如中断,管理硬件,并为您提供上面的抽象/proc/interrupts
只是一种查询操作系统内核状态的方法。它的格式随内核版本和硬件的不同而不同(在我的系统上,输出与您的系统非常不同),并且它对系统管理员非常有用(例如,当某个奇怪的硬件发送大量中断时,作为硬件故障的提示)。看
如何手动生成中断
在Linux系统中,您不能。
顺便说一句,Linux也有-s(另请参见…),但这些信号不是中断(即使某些中断可能间接触发信号)。而且确实可以“中断”(以一种非常形象的方式,与硬件中断不同)您的
(可能在您的特定硬件和内核上,大多数“计时器”中断都会进入
ioc0
行)您为什么要问这个问题?哪个软件对那个中断感兴趣?只是好奇我是否能自己生成一个中断。好的。谢谢CPU0有54个定时器中断怎么办?我不知道,但内核有。