gpt4 book ai didi

operating-system - 禁用中断是否会自动禁用 CPU 调度?

转载 作者:行者123 更新时间:2023-12-04 06:28:27 25 4
gpt4 key购买 nike

嘿伙计们,如果中断被禁用,所有进程/线程调度都将被禁用是真的吗?我所知道的中断包括时钟中断和其他中断。 CPU 调度(例如,Round-Robin)基于时钟中断。如果它被禁用,调度也会被禁用,当前线程继续执行,直到它让 CPU 产生为止。如果我错了,请纠正我。

如果是纯优先级调度而不是RR(考虑实时系统),低优先级的线程禁止中断,那么高优先级的线程到来,低优先级的线程会被抢占吗?

这让我想到了操作系统中的保护。如果某些用户故意编写病毒来禁用中断怎么办?可能他在用户模式下无法做到这一点,如果他编写了一个在内核模式下运行的程序并且做了那些坏事怎么办?他能做到吗?

我不期望在所有平台上都有一个通用规则。所以请让我知道你知道的平台上的情况,谢谢。

最佳答案

实际上,您的问题的答案取决于架构。让我们假设我们谈论的是 i386 或 x86_64,因为它们是当今最流行的处理器架构。

用户模式程序无法清除中断标志,因为它需要 CPL(当前特权级别)0。用户模式程序永远不会有 CPL 0。例如,在 Linux 中,用户模式程序以 CPL 2 运行,只有内核以 CPL 0 运行。因此您不能编写一种病毒来禁用中断并因此禁用调度。在 Windows 中,如果我没记错的话,程序使用 CPL 1 运行。

另一方面,在内核中运行代码(仅在任何操作系统中)需要管理权限,这允许您做任何想做的事情,因此在内核模式下禁用中断没有任何意义。

希望这能回答你的问题。

关于operating-system - 禁用中断是否会自动禁用 CPU 调度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5741760/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com