#linux-kernel #linux-device-driver #embedded-linux
#linux-ядро #linux-драйвер устройства #встроенный-linux
Вопрос:
Я хочу добавить запись в структуру блока управления процессом ( task_struct
). Допустим, способ пометить некоторый процесс. Я хочу инициализировать это поле равным 0 для всех процессов, кроме «некоторых специальных процессов», позже, вызвав sched_setscheduler()
, я установлю этот флаг для «специальных процессов».
У кого-нибудь есть идея, как присвоить значение по умолчанию переменной-члену в task_struct
?
Ответ №1:
Я предполагаю, что вы говорите о недавнем ядре Linux, потому что детали реализации меняются со временем.
Есть два варианта. Первое — вы можете установить значение переменной в init_task
глобальном. Посмотрите, как это делается в linux/init_task.h
заголовке. Второй вариант — добавить код в copy_process
, что вы, возможно, захотите сделать в любом случае, чтобы правильно обработать fork()
наследование добавляемого вами поля.