这个问题是关于将Windows内核调整为像ose一样实时的可能性,以及实现它的方法。这是一个非常具体的狭隘主题,需要深层次的知识 - 你要么知道,要么不知道。
我在WS2016 x64平台上,我可以将定时器分辨率设置为500us(0.5ms),NtSetTimerResolution()
在ntdll.dll
库中调用函数。我猜这个价值与sheduler时间片有关。
但是,我想将它增加到100us。测量可能涉及在循环内多次调用NtDelayExecution()
包含在QueryPerformanceCounter()
调用中,然后分析抖动,标准偏差等统计信息。
这应该怎么做?是否有任何注册表/文件调整,我可以在哪里设置arbiraty windows sheduler timeslice?
PS。有些人可能会问“ 你为什么需要它? ”,或者说“不要做,不对! ”。我预见到那种想法,并会提前回答。
- 这只是软件实验。它只是用于测试这样做的可能性和实际结果。
- 我知道它可能导致潜在的问题,例如在上下文切换时浪费额外的CPU时间,系统不稳定,不负责任,数据丢失以及它可能导致的任何问题。我接受提前做出并承担全部责任的任何负面后果。即使我的机器会冒出烟雾和火花:)
- 根据谷歌搜索或在这里搜索 - ofc我alredy做了它,并没有找到有用的信息,因为这个主题非常狭窄,与OS shedulers功能有关。在任何Windows机器上做几乎没有意义。我知道我不能把它变成实时。这个网站搜索“sheduler timeslice”没有结果。