【发布时间】:2020-03-21 18:33:39
【问题描述】:
我最近读了一些关于操作系统内核的书。我知道当一个事件(比如时钟滴答声)发生时,它会触发中断然后内核指定的例程响应。
所以我的问题是: 1)当一个中断被触发并且其对应的内核例程仍在运行时,由于某种原因触发了另一个中断。内核将如何响应?它在处理第一次中断时会掩盖第二次中断吗?还是第一个中断对应的程序被第二个中断了?如果第二个条件为真,内核如何确保例程是“重入”的?
2) 内核是多线程还是多进程?我的意思是当事情像第一个问题一样时,内核将使用 CPU 的额外内核来处理中断?如果是这样,内核如何确保一切正常运行,就像在单核 CPU 上运行一样?
【问题讨论】:
-
问题太多在单个问题帖子中。此外,每个特定的操作系统内核都有自己的方式来处理中断和多线程/多进程方面。询问操作系统内核的这些方面一般有点道理:每个答案都是“视情况而定”。
-
是的.. 操作系统设计人员/开发人员/测试人员/调试人员确保它在目标硬件上运行。这就是为什么操作系统开发很重要的原因。