Linux 如何确定我的程序被操作系统开销延迟了多少

Linux 如何确定我的程序被操作系统开销延迟了多少,linux,windows,delay,scheduler,multitasking,Linux,Windows,Delay,Scheduler,Multitasking,我正在寻找一种方法来确定我的程序被OS调度器延迟了多少时间。我的节目从上次预定到现在花了多长时间。 让我们假设for循环计数为100,我的程序在42时暂停,以让其他程序运行。当我的程序再次从43开始计数时,我假设操作系统调度器知道我“暂停”了多长时间,幸运的是,这些信息存储在某个地方,供我在程序中的其他地方阅读 我正在寻找一种在linux和windows下获取此信息的方法。编程语言的选择是C。 这样做的目的是了解我的程序在过去n秒内的“实时”运行情况。您需要多少精度时间可能足够了,这取决于您实际

我正在寻找一种方法来确定我的程序被OS调度器延迟了多少时间。我的节目从上次预定到现在花了多长时间。 让我们假设for循环计数为100,我的程序在42时暂停,以让其他程序运行。当我的程序再次从43开始计数时,我假设操作系统调度器知道我“暂停”了多长时间,幸运的是,这些信息存储在某个地方,供我在程序中的其他地方阅读

我正在寻找一种在linux和windows下获取此信息的方法。编程语言的选择是C。
这样做的目的是了解我的程序在过去n秒内的“实时”运行情况。

您需要多少精度<代码>时间可能足够了,这取决于您实际需要什么。是的,我知道我可以使用时间,但如果我自己的程序在这里或那里使用了太多的时间,我可能会被欺骗。如果你明白我的意思的话,我更喜欢“从操作系统的深处”做点什么。我有一个类似的问题。但是,答案并不简单。事实上,上下文切换也可能发生在每个循环之间,在这种情况下,您可能无法找到它。找到答案的困难方法是将调试放在调度器[内核]本身:(是的,上下文切换可以发生在任何地方。我想知道最大和最小延迟时间。我想操作系统会将其存储在某个地方。