title: What is the ideal & fastest way to communicate between kernel and user space?
body: <p>I know that information exchange can happen via following interfaces between kernel and user space programs</p>
  
  <ul>
  <li><p>system calls</p></li>
  <li><p>ioctls</p></li>
  <li><p>/proc &amp; /sys</p></li>
  <li><p>netlink</p></li>
  </ul>
  
  <p>I want to find out</p>
  
  <ul>
  <li><p>If I have missed any other interface?</p></li>
  <li><p>Which one of them is the fastest way to exchange large amounts of data?
  (and if there is any document/mail/explanation supporting such a claim that I can refer to)</p></li>
  <li><p>Which one is the <em>recommended</em> way to communicate? (I think its netlink, but still would love to hear opinions)</p></li>
  </ul>