title: How does bootstrapping work for gcc?
body: <p>I was looking up the pypy project (Python in Python), and started pondering the issue of what is running the outer layer of python? Surely, I conjectured, it can't be as the old saying goes "turtles all the way down"! Afterall, python is not valid x86 assembly! </p>
  
  <p>Soon I remembered the concept of bootstrapping, and looked up compiler bootstrapping. "Ok", I thought, "so it can be either written in a different language or hand compiled from assembly". In the interest of performance, I'm sure C compilers are just built up from assembly. </p>
  
  <p>This is all well, but the question still remains, how does the computer get that assembly file?!</p>
  
  <p>Say I buy a new cpu with nothing on it. During the first operation I wish to install an OS, which runs C. What runs the C compiler? Is there a miniature C compiler in the BIOS? </p>
  
  <p>Can someone explain this to me?</p>