вытеснение во FreeBSD - PullRequest
       20

вытеснение во FreeBSD

1 голос
/ 11 января 2012

Сейчас я ищу кусок исходного кода, который рассматривает возможность вытеснения ядра во FreeBSD.

В ядре Linux есть файл c-source с именем "sched.c", в котором макрос set_current_state ()используется для установки состояния процесса (TASK_RUNNING, TASK_INTERRUPTIBLE или любой другой).Эти макросы определены в "sched.h".Не могли бы вы сказать мне соответствующий исходный файл (файлы) (который имеет определение этих макросов, если они существуют во FreeBSD) в дереве исходных текстов ядра FreeBSD?

1 Ответ

3 голосов
/ 12 января 2012

Соответствующими файлами являются src/sys/kern/sched_4bsd.c (планировщик 4BSD) и src/sys/kern/sched_ule.c (планировщик ULE).Но нет TASK_ * define или set_current_state () макроса, так как FreeBSD и Linux используют разные планировщики.

Вам может понадобиться прочитать один из них (я рекомендую 4bsd, так как он проще), чтобы найти то, что вас интересует

Кстати, был проект для переноса планировщика BFS в Linux, код есть http://rudot.blog.com/. Возможно, вы найдете его полезным.

...