Kernel FreeBSD中的抢占

Kernel FreeBSD中的抢占,kernel,freebsd,Kernel,Freebsd,我现在正在寻找一段关于FreeBSD中内核抢占的源代码 在Linux内核中,有一个名为“sched.c”的c源文件,其中set_current_state()宏用于设置进程的状态(TASK_RUNNING、TASK_interruptable或其他)。这些宏在“sched.h”中定义。您能告诉我FreeBSD内核源代码树中相应的源文件(如果这些宏存在于FreeBSD中,则具有这些宏的定义)吗?相关文件是src/sys/kern/sched_4bsd.c(4bsd调度程序)和src/sys/ker

我现在正在寻找一段关于FreeBSD中内核抢占的源代码


在Linux内核中,有一个名为“sched.c”的c源文件,其中set_current_state()宏用于设置进程的状态(TASK_RUNNING、TASK_interruptable或其他)。这些宏在“sched.h”中定义。您能告诉我FreeBSD内核源代码树中相应的源文件(如果这些宏存在于FreeBSD中,则具有这些宏的定义)吗?

相关文件是
src/sys/kern/sched_4bsd.c
(4bsd调度程序)和
src/sys/kern/sched_ule.c
(ule调度程序)。但是没有任务定义或设置当前状态()宏,因为FreeBSD和Linux使用不同的调度器

您可能需要阅读其中一本(我推荐4bsd,因为它更简单),以找到您感兴趣的内容


顺便说一句,有一个移植Linux的BFS调度程序的项目,代码就在那里。您可能会发现它很有用。

您好,谢谢您提供的信息,很抱歉回复太晚。BFS项目对我来说也很有趣。补丁正在维护中,使用10.1-rc/amd64对我来说效果很好。当做