相关疑难解决方法(0)

如何知道linux调度程序的时间片?

我正在寻找Linux内核的时间片(或量子)的值.

有没有/proc公开此类信息的文件?

(或)它在我的发行版的Linux头文件中是否定义良好?

(或者)是否有Linux API(可能是sysinfo)的C函数公开此值?

提前致谢.

c linux linux-kernel embedded-linux procfs

39
推荐指数
5
解决办法
5万
查看次数

Linux中的实时调度

今天早上我读到了Linux实时调度.根据Robert Love的"Linux系统编程"一书,有两个主要的调度.一个是SCHED_FIFO,fifo,第二个是循环法SCHED_RR.我理解了fifo和rr算法是如何工作的.但是,由于我们有系统调用,

sched_setscheduler (pid_t pid, int policy, const struct sched_parem *sp)
Run Code Online (Sandbox Code Playgroud)

我们可以为我们的流程明确设置调度策略.所以在某些情况下,由root运行的两个进程可以有不同的调度策略.作为一个具有SCHED_FIFO和另一个具有SCHED_RR并具有相同优先级的进程.在那种情况下,将首先选择哪个流程?FIFO分类过程或RR分类过程?为什么?

考虑这种情况.有三个过程A,B,C.所有人都有同样的优先权.A和B是RR分类过程,C是FIFO分类过程.A和B是可运行的(因此两者都在一段时间内交替运行).目前A正在运行.现在C变得可运行了.在这种情况下,是否

1. A will preempt for C, or
2. A will run until its timeslice goes zero and let C run. Or
3. A will run until its timeslice goes zero and let B run.
   a) here after B runs till its timeslice becomes zero and let C run or
   b) after B runs till its timeslice becomes zero and let A run again (then C will starve …
Run Code Online (Sandbox Code Playgroud)

linux kernel scheduling fifo round-robin

21
推荐指数
2
解决办法
2万
查看次数