Я знаю, что fork() возвращает по-разному для дочерних и родительских процессов, но я не могу найти информацию о том, как это происходит. Как дочерний процесс получает возвращаемое значение 0 из fork? И в чем разница в отношении стека вызовов? Насколько я понимаю, для родителя это выглядит примерно так:
parent process - вызывает fork → system_call - вызовы fork → fork выполняет - возвращает в → system_call - возвращает в → родительский процесс.
Что происходит в дочернем процессе?