title: Heap / Stack and multiple processes
body: <p>Say I have two process p1,p2 runnning as a part of my application.</p>
  
  <p>Say p1 is running initially executing function f1() and then f1() calls f2().With the invocation of f2() process p2 starts excuting</p>
  
  <p>What I want to confirm is it that :-
  1)Do we have seperate stack for different process?</p>
  
  <p>2)Do we have seperate heap for different process? or do different process share same heap?</p>
  
  <p>3)As we know that for a 32 bit OS do for <strong>every</strong> process the size of virtual memory is 4GB .So is it that for every process which has 4GB as virtual memory this 4GB is partitioned into heap,stack,text,data</p>
  
  <p>Thanks.</p>