【发布时间】:2011-04-21 08:54:09
【问题描述】:
大家好,如果禁用中断,是否所有进程/线程调度都将被禁用?我所知道的是中断包括时钟中断和其他中断。 CPU 调度(例如,循环)基于时钟中断。如果它被禁用,调度也被禁用,当前线程继续执行,直到它产生 CPU。如果我错了,请纠正我。
如果是纯基于优先级的调度而不是RR(考虑实时系统),并且低优先级的线程禁用了中断,那么高优先级的线程到达,低优先级的线程会被抢占吗?
这让我想到了操作系统中的保护。如果某些用户故意编写病毒来禁用中断怎么办?可能他在用户模式下无法做到这一点,如果他编写了一个在内核模式下运行的程序并且做了坏事怎么办?他能做到吗?
我不希望所有平台都有一个通用规则。所以请告诉我你知道的平台上的情况,谢谢。
【问题讨论】:
-
内核模式下的坏东西一般是没有限制的。内核模式下的任何东西都可以破坏控制寄存器(例如:将页表基地址更改为某个垃圾值)。这就是为什么您需要成为管理员才能添加驱动程序。如果有的话,你应该说出你指的是哪个操作系统和架构。
-
嵌入式系统中常用的处理器将包括一个看门狗定时器。 x86 也有看门狗定时器,连接到 NMI。但是,恶意程序只能禁用看门狗定时器并禁用中断。
标签: operating-system scheduling interrupt