przestrzeń adresowa po wywołaniu widelca

Gdy wywołanie fork () sys jest wykonywane przez proces, generowany jest z niego proces potomny. Wszystkie kody następujące po wywołaniu fork () są kopiowane na nowe fizyczne strony pamięci, tj. Ramki. Nie jestem w stanie zwizualizować części pamięci wirtualnej procesu potomnego. Ponieważ w poniższym kodzie adres zmiennej char jest taki sam zarówno u dziecka, jak i rodzica.

#include <stdio.h>
#include <sys/types.h>

int main(void)
{
    pid_t pid;
    char y='Y';
    char *ptr;
    ptr=&y;
    pid = fork();
    if (pid == 0)
    {
        y='Z';
        printf(" *** Child process ***\n");
        printf(" Address is %p\n",ptr);
        printf(" char value is %c\n",y);
        sleep(5);
    }
    else
    {
        sleep(5);
        printf("\n ***parent process ***\n",&y);
        printf(" Address is %p\n",ptr);
        printf(" char value is %c\n",y);
    }
}

i jego wyjście:

*** Child process ***
Address is 69002894
char value is Z

***parent process ***
Address is 69002894
char value is Y

questionAnswers(2)

yourAnswerToTheQuestion