Think of an address space as the memory map a running program can see. Each process has its own address space, which holds data the process reads or writes and helps keep it independent from other processes. section 4.2 section 4.3
A process’s address space is part of its execution context, alongside its executable and other resources. Child processes have separate address spaces, so they cannot directly access one another’s data. Threads within a process share its address space, making shared data easier to access but requiring synchronization. section 4.3 section 4.5 section 4.7
Child processes
A Python program can start three child processes. Each has its own process ID and separate address space, so the children run independently rather than sharing the parent’s memory. section 4.5


