title: What options do we have for communication between a user program and a Linux Kernel Module?
body: <p>I am a new comer to Linux Kernel Module programming. From the material that I have read so far, I have found that there are 3 ways for a user program to request services or to communicate with a Linux Kernel Module</p>
  
  <ol>
  <li>a device file in /dev </li>
  <li>a file in /proc file system</li>
  <li>ioctl() call</li>
  </ol>
  
  <p>Question: What other options do we have for communication between user program and linux kernel module?</p>