Я видел, что некоторые вопросы SO пришли к выводу: каждый процесс имеет свой собственный стек ядра. Но как насчет этого кода?Каждый процесс имеет свой собственный стек ядра, не так ли?
main()
{
while(1)
;
}
Или как насчет этого?
main()
{
}
Имеет ли эта программа также соответствующий стек ядра?
Подробнее: Для первого кода выше, я проверил его, как показано ниже. Нажмите Ctrl + C, чтобы остановить его, и посмотрите, что системное время меньше 1 мс, как показано ниже.
Я думаю, что я хочу знать, должен ли путь выполнения программы пространства пользователя проходить через пространство ядра? Для моего примера кода, я думаю, что сам процесс не проходит через пространство ядра, когда он выполняется, правда?
$ time ./a.out
^C
real 0m24.953s
user 0m24.942s
sys 0m0.000s
Ядро создает объект процесса, который обеспечивает ** среду выполнения ** для пользовательского пространства. – Tsyvarev
Я плохо тебя понимаю. Вы говорите: «Выполнение этого требует, чтобы объект процесса был полностью построен», так что это сделано, это ядро? Тем не менее, означает ли это, что выделен соответствующий стек ядра? –
Действительно спасибо! Хороший ответ. –