Explain the process of interrupt handling. What is a Bottom Half (or Deferred Work) in Linux, and why is it necessary?