<br><div class="gmail_quote">On Mon, Aug 27, 2012 at 2:01 AM, Srinivas Ramanan <span dir="ltr">&lt;<a href="mailto:srinivas.ramanan@gmail.com" target="_blank">srinivas.ramanan@gmail.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Hi all,<br>
This is an interview question.<br>
&quot;What is the implication of mapping BSS to the Virtual Memory Segment 0?&quot;<br>
<br>
 I was not able to find the answer from web. So posting here.<br>
thanks,<br>
srinivas<br>
<br>
_______________________________________________<br>
Kernelnewbies mailing list<br>
<a href="mailto:Kernelnewbies@kernelnewbies.org">Kernelnewbies@kernelnewbies.org</a><br>
<a href="http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies" target="_blank">http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies</a><br>
</blockquote></div><br><br>Hi,<br><br>The bss section typically includes all uninitialized variables declared with the <code>static</code> keyword. <br>The zero page which  is a copy-on-write page that reads as zero is used to map the BSS segment. Any process referencing the zero page sees the page filled with zeos and if it tries to writes to the page, it ends up modifying a private copy. (LDD ch15. page 429)<br>
<br>Mulyadi, <br><br>Why it will generate a page fault later when process will tries to reference it, while it already has mapped with the zero page?<br><br><br>Sorry if i am wrong anywhere.<br>Ritesh<br>