我对计算机日益增长的兴趣使我提出了更深层次的问题,我们似乎不必再问这些问题了。我们的电脑,在开机,据我了解,在文本模式,其中可使用软件中断来显示一个字符0x10时AH=0x0e。我们都见过著名的启动字体,无论启动什么计算机,它看起来总是一样的。
那么,计算机究竟如何在最低级别(例如,低于操作系统)输出图形?而且,当然图形不会使用软件中断一次输出一个像素,因为这听起来很慢?
是否有定义顶点、多边形、字体等基本输出的标准(例如,在 OpenGL 下,可能使用哪种 OpenGL)?让我问的是为什么操作系统在没有安装官方驱动程序的情况下通常可以正常运行?他们是怎么做到的?
如果我的假设不正确,请道歉。我将非常感谢您对这些主题的详细说明!
当您使用 less 执行 shift-f 时,您可以实时看到文件更新,并且您会收到“正在等待数据...(中断中止)”消息。
更新工作正常,但中断是什么?似乎没有任何效果(Ctrl-C、Esc、Ctrl-I 等)。我总是不得不杀死终端,这很痛苦。
我的系统是笔记本系统,配备 AMD A10 5750m CPU、R9 M290X GPU、8GB、1TB。我注意到一个始终处于活动状态的进程称为“系统中断”,此时它平均消耗 1.5% 的 CPU。
我到处搜索,但没有找到有关此过程的任何信息。我发现有人在处理过程中消耗了极高的 CPU 值,这不是我的情况。正常吗?它会一直处于活动状态,消耗(甚至)最少量的 CPU 吗?
当计算机没有以某种方式响应时,会出现不同级别的“冻结”。
例如,假设我正在 PC 上浏览网页...
如果当前浏览器选项卡停止响应(单击/键入什么也不做),浏览器可能仍然会响应。
如果整个浏览器都被锁定,操作系统可能仍在响应。
如果 OS GUI 没有响应,通常我仍然可以切换Caps LockLED。
如果Caps Lock不再响应,我必须假设“最大冻结”。有时,如果我等待,整个计算机可能会在一段时间后恢复正常。
如果 Caps Lock 不再切换,是否意味着计算机“比第 3 步更冻结”?
Caps Lock用作“冻结”的最终测试有意义吗?
...如果是这样,何时Caps Lock切换和不切换有什么区别?什么决定是否Caps Lock响应?
这是 Windows Vista 问题,我认为主要是在双处理器笔记本电脑上看到的,其中 CPU 百分比突然飙升至约 45% 并保持在那里。一旦发生这种情况,% CPU 将永远不会自行恢复正常,但奇怪的是,“休眠”盒子几秒钟会重置条件。
我已经多次看到这种情况发生(带有英特尔双核 CPU 的索尼 VGN-CS215J 笔记本电脑),当盒子坐在那里什么都不做,只有正常的 2-3% 后台 CPU,然后突然 - BOOM!
“进程资源管理器”显示这些情节之一中的 CPU 正在被“中断”消耗,而不是任何特定程序。
这种情况绝对是“真实的”,而不仅仅是 CPU 计量的问题。当它发生时,盒子会变慢,有时特定的应用程序会慢到爬行(例如,需要十秒钟的任务需要十分钟)。此外,在我的笔记本电脑上,风扇高速起飞。
谷歌搜索显示这是一个相当普遍的问题,许多假设的“原因”已被“识别”,尽管它们总是被证明是错误的线索。问题往往来来去去(看起来它的可能性从 IPL 到 IPL 有所不同,有些 IPL 几乎从不这样做,而其他人每 10 分钟就做一次),因此很容易得到问题一直存在的错误印象“治愈”,只是让它回来。
当然,Microsoft 否认有关该问题的所有知识,即使它发生在几个不同品牌的系统上。
我的一个线索是,当我的笔记本电脑使用电池运行时,它似乎不会发生(当然,由于症状的可变性,很难确定地说出这一点)。但是我尝试使用 CPU 速度控制(在高级电源选项下)并且没有治愈它。
我已经检查了几次,我的盒子没有任何新的驱动程序可用。(有一个新的显示驱动程序,但索尼没有用他们的特殊钩子重新启动它,所以它不能在这个盒子上工作。)
我认为“遍历堆栈”不会有任何好处,因为“循环”是在中断中,而不是在任何特定过程中。我想我可以尝试进行中断跟踪,但这可能需要很多时间,而我没有。
更新:今天我在使用电池运行时遇到了故障,这是第一次发生。所以我知道没有任何条件可以阻止失败。
重新关闭搜索索引等 Windows 服务,我很久以前就这样做了。
我一时兴起拔掉了网线,这两天在家和工作中都在无线运行。(如果我不需要,我通常不喜欢运行无线,因为我认为射频污染已经太多了。)没有发生任何事件。奇怪的。
过去 11 天左右,我一直在跑步,仅使用无线网络。(这不是我通常喜欢做的事情,因为我觉得 RF 污染已经太多了,当有线连接可用时不需要添加更多。)而且在过去的 11 天里,我没有发生过“事件”——通过这是我见过的最长的无事故时间。一两天后,我将再次开始插入电源,看看会发生什么。
由于无线路由器在工作中中断,我不得不在那里使用有线连接两天,旧的行为(正常运行 30-60 分钟后大约 40% 的“事件”)又回来了。不过,奇怪的是:这两天,当我将笔记本电脑带回家并连接到无线网络时,问题会在几分钟内再次出现。但是一旦我做了一次“睡眠”和“重新唤醒”,问题就会永远消失。
把笔记本电脑带回家我会把它睡着,但不知何故“错误”幸免于难。或者,很有可能,有线接口直到重新唤醒后才重置,并且在这几秒钟内做了一些令人讨厌的事情。
仅供参考,有线适配器是“Marvell Yukon 88E8040 PCI-E 快速以太网控制器”。了解同一适配器是否与此问题的其他情况相关联会很有趣。
在 Unix 中,
如果您是访客用户并且做了:
chmod 777 /
它会失败。
但是这在硬件层面是如何在内部发生的呢?
到目前为止,我认为这就是发生的事情:
这是如何发生的,还是在出现这种情况时会引发中断?主存中的 ISR 表中是否有与非特权指令对应的例程?
可能有故障的硬件或有故障的设备驱动程序?
版本: Windows XP 5.1.2600
更新:
在 CPU(主要是操作系统)上运行的程序如何访问其他 PC 硬件?比如显卡,硬盘等等?
从我读到的,在 DOS 中,这是使用 BIOS 调用完成的,特别是 INT 指令。但是,INT 指令应该只跳转到 RAM 中的特定空间。那么当CPU只能访问RAM并接收中断时,存储在RAM中的某些程序如何访问其他计算机硬件?
Windows 是否也使用 INT 指令,或者是否有与硬件通信的新方法?
作为问题的后续
... 我使用 Process Explorer 检查我的 PC。
我发现平均有 30-40% 的 CPU 被Interrupt. 这是正常的吗?
如果不正常,你能提出什么方法来检查原因吗? 编辑:虽然这个问题被标记为另一个问题的完全重复,但我发现另一个问题的解决方案在 Windows xp 中不起作用。在我的 Windows xp 机器上安装 Windows 性能工具包无法使命令“xperf”在命令提示符下工作。如果可能,请帮助提供一些其他方法来查找原因。
我已经执行了 DPC 延迟检查器,它建议驱动程序损坏。我检查了设备管理器,一切似乎都很好。没有黄色“!” 象征。

我目前正在做一个操作系统理论模块,我有一些我无法掌握的概念 - 这是提问的正确地方吗?
我的主要问题是关于中断。当CPU检测到有中断时,我明白它必须找出这个中断的来源。我的理解如下,谁能告诉我这是否正确,并解释我的一些知识空白?
为了让 CPU 检测中断的来源,它可以查询所有对象以识别来源,但这些基于 I/O 的问题需要很长时间。相反,它使用中断周期,并期望在数据总线上有一个中断标识符。如果是8位数据总线,则有256个中断级别(即2^8)。(为什么是这样?)
因此,为每个可能的中断级别编写了一个中断服务程序 (ISR),并将其存储在由处理器标准化的固定位置(中断向量)的表中。在我的笔记中说“在获取地址之前必须知道位置” (这是什么意思?)
作为中断周期的一部分接收到的中断级别标识符用作中断向量的索引(有人可以稍微分解一下吗?)。我的理解是一个值,中断级别标识符传递给CPU并用于指向中断向量。
另外,中断被称为“服务”是什么意思?
非常感谢,很抱歉,很长的段落,我只是对这方面的许多方面感到有点困惑!
interrupts ×10
linux ×2
windows-xp ×2
bios ×1
capslock ×1
cpu ×1
cpu-usage ×1
ethernet ×1
fan ×1
freeze ×1
graphics ×1
keyboard ×1
permissions ×1
system-calls ×1
windows ×1
windows-8 ×1
windows-8.1 ×1