инициализация дескриптора процесса

В Linux, когда процесс запускается, как заполняется его дескриптор процесса? Я хотел бы знать, где это на самом деле делается. Какая часть кода выполняет инициализацию (инициализация приоритета и его класса расписания и всего остального). Имя файла и номер строки, где это на самом деле происходит, помогут мне.

Как инициализируются переменные prio, ststic_prio и normal_prio в sched.h? И какая именно часть кода ядра выполняет эту инициализацию??

Заранее спасибо.


person rAzOr    schedule 22.02.2012    source источник


Ответы (2)


Что вы понимаете под словом «старт»? Для fork см. kernel/fork.c:copy_process в исходном коде ядра, для exec см. fs/exec.c:do_execve.

person jørgensen    schedule 22.02.2012
comment
Как только я дважды щелкаю, чтобы запустить процесс, его приоритет, класс планирования и некоторые другие вещи инициализируются. Я хотел бы знать, какая часть кода в ядре выполняет эту инициализацию. - person rAzOr; 22.02.2012

Дескрипторы процессов находятся в init-scripts

его можно найти в локации /etc/init.d

вы можете просмотреть код, который содержит методы запуска/остановки службы и описание, которое она показывает при их запуске и остановке.

person linuxeasy    schedule 22.02.2012