Articles of 调度

为什么我得到这个错误:解除指向不完整types的指针

我正在为一个类的项目工作,可能是WORST指令,我们必须实现一个简单的调度程序..虽然C编程不是课程的先决条件,这是调度程序的语言,我不一定是C程序员.. 无论如何,我试图通过打印出任务来debugging,以便我可以通过程序跟踪它,但我不断收到以下编译时错误: schedule.c:61:48:错误:取消引用指向不完整types的指针 这是task_struct定义: struct task_struct { struct thread_info *thread_info; int prio, static_prio, normal_prio; unsigned long sleep_avg; unsigned long long last_ran; unsigned long long timestamp; unsigned long long sched_time; unsigned int time_slice, first_time_slice; struct list_head run_list; struct sched_array *array; enum sleep_type sleep_type; int need_reschedule; }; 我试图在里面debugging的function: void initschedule(struct runqueue *newrq, struct task_struct *seedTask) { printf("Inside […]

从处理器的angular度来看进程调度

我知道调度是由内核完成的。 让我们假设Linux中的进程(P1)正在处理器上执行。 由于当前进程并不知道时间片的内容,内核当前没有在处理器上执行,内核如何安排下一个进程执行? 是否有某种中断告诉处理器切换到执行内核或任何其他机制的目的?

进程nice(优先级)设置对Linux没有影响

我写了一个testing程序,其中只包含一个无限循环,里面有一些计算,不执行I / O操作。 我试着开始两个程序实例,一个具有很高的漂亮度值,另一个具有较低的漂亮度值: sudo nice -n 19 taskset 1 ./test sudo nice -n -20 taskset 1 ./test taskset命令确保两个程序在同一个内核上执行。 与我的预期相反,最重要的报告是这两个程序都能获得大约50%的计算时间。 这是为什么? nice命令是否有效?

在Linux中进行计划:计算机闲置时运行任务(=无用户input)

我想在我的Ubuntu 8.10盒子上运行Folding @ home客户端,只是因为程序的内存消耗太大而导致它闲置。 “空闲”是指没有用户活动的状态(键盘,鼠标或任何其他)。 由于F @ H具有最低的CPU优先级,因此其他(可能很重)的进程可以运行。 重点在于改善用户体验,并在他不在的时候进行繁重的工作。 如何做到这一点?

Linux调度器是否喜欢在fork()之后运行subprocess?

Linux调度器是否喜欢在fork()之后的父进程中运行subprocess? 通常,分叉进程会执行某种types的exec ,所以最好在父进程之前让subprocess运行(防止写入时复制)。 我假设孩子将在创build后执行exec作为第一个操作。 是我的假设(即调度程序将喜欢孩子的过程)是正确的。 如果没有,为什么? 如果是的话,是否有更多理由让孩子先行?

如何将我的调度程序添加到Linux内核

我正在研究Linux内核。 我应该给Linux内核添加一个调度algorithm,比如SJF,SRT和其他algorithm。 经过一番search,我发现linux内核有两个调度器:CFS和实时调度器。 但是这两个调度程序有什么区别呢? 如何编写我的调度程序代码? 我应该在哪里添加我的调度程序代码,CFS或实时? 我应该在编译linux内核之前做这个工作吗? 和其他任何我需要做的工作…我正在使用Linux内核3.15.6。

在中断的时候得到current-> pid

我在linux调度器上写了一些东西,我需要知道哪个进程在我的中断进入之前正在运行..是当前可用的结构? 如果我在中断处理程序中执行current-> pid,是否得到我中断的进程的pid?

如何使用sched_getaffinity(2)和sched_setaffinity(2)。 请给代码示例在C程序中使用

我在尝试着 并行运行16个副本(处理器固定)(每个内核2个副本) 在处理器固定的情况下(每个内核2个拷贝)同时运行8个拷贝,并在某个函数表示函数1完成后,将处理器内核翻转到最远的内核。 我面临的问题是如何select最远的处理器。 有些朋友build议使用sched_getaffinity(2)和sched_setaffinity,但我没有find任何好的例子。 请帮忙。

Linux – 线程和进程调度优先级

如果我们在linux上使用默认调度策略创buildpthreads(pthread_create)或进程(fork),那么调度器会在调度它们时将进程和线程的优先级视为相同的优先级吗? 让我们说,有一个线程的进程P1和P2线程T1 T2的进程 可以说只有一个核心。调度是P1 P1 P1 T2 P1 T1 P1 T2 要么 P1 T1 T2 P1 T1 T2

Linux SCHED_OTHER,SCHED_FIFO和SCHED_RR – 差异

有人可以解释SCHED_OTHER,SCHED_FIFO和SCHED_RR之间的区别吗? 谢谢