我在 Intel i7(第一代)处理器上使用 ubuntu 13.04。我可以找出我的操作系统是如何调度进程的吗?
我想知道它是使用公平共享还是基于优先级的算法。如果是这样,每个进程可能的时间片值是多少,以及如何确定初始进程优先级。
我在 Intel i7(第一代)处理器上使用 ubuntu 13.04。我可以找出我的操作系统是如何调度进程的吗?
我想知道它是使用公平共享还是基于优先级的算法。如果是这样,每个进程可能的时间片值是多少,以及如何确定初始进程优先级。
基本上 Linux 提供了两种独立的进程调度算法。一是多进程间公平抢占调度的分时算法;另一种是为绝对优先级比公平更重要的实时任务设计的。在实时情况下,系统必须允许内核被抢占以保持低调度延迟。Linux 只允许在用户模式下运行的进程被抢占。进程在内核模式下运行时不能被抢占,即使具有高优先级的实时进程可用。希望这会有所帮助。
除非特别设置,否则默认类是分时调度。每个进程都通过自己的优先级和类运行。如果没有指定类/优先级,它将在静态优先级为 0 的 SHED_OTHER 类中运行。时间片取决于进程的静态优先级;它还取决于过程行为。
初始进程优先级默认为 0。