title: What's the difference between software and firmware?
body: <p>I know this is a bit of a basic question, but I am a little confused and couldn't find the <em>complete</em> answer on Google.</p>
  <p>I know that the difference has to deal with how permanent and malleable a section of code is. However, how do you draw the line between a set of instructions being software and firmware? Can a computer/printer/etc. have both software and firmware on it? What does OS qualify as?</p>