Я хочу использовать свой модуль Unix для записи в другую память процесса (я хотел бы сделать это в режиме ядра и избегать интерфейса pthread).
Я должен использовать функцию (например, do_mmap (..), do_unmmap (..), sys_mprotect (..) и т. Д.), Которая влияет на текущую память процесса, а не на процесс, на который я хотел бы повлиять.
Итак, я подумал, что мне нужно найти способ сделать переключение контекста для процесса, который я хочу, чтобы сделать процесс, который я хочу, текущим. Я попытался скопировать реализацию schedule () с небольшим изменением:
Я заменил строку:
next = pick_next_task (rq);
с:
next = myNext;
Моя проблема в том, что расписание требует так много структур и функций, которые я не могу включить, поэтому я должен их повторно реализовать. кажется, довольно плохо делать такие вещи. У вас есть предложения?
Я хочу избежать модификации существующего ядра, поэтому мне не придется заставлять пользователей перезагружать и модифицировать их операционную систему, чтобы использовать мою программу (именно поэтому я использую модули).
Кстати, я использую "2.6.38-11-generic" версию Linux.