title: Developing kernels and testing them in virtual machines
body: <p>I like programming challenges, and writing a kernel seems a programming challenge.</p>
  
  <p>Unfortunately, kernels are particularly hard to test because they are basically the core of operating systems and so they can't be easily ran on top of an operating system.</p>
  
  <p>However, I know about applications called Virtual Machines that can emulate computer hardware.</p>
  
  <p>What is the easiest/best way to develop and test kernels(C+Assembly) using Virtual Machines?</p>