title: What is a filesystem protocol and how does it work?
body: <p>Just as example I will pick up Plan9's filesystem protocol called 9P (a.k.a Styx).
  As the article in Wikipedia states: </p>
  
  <blockquote>
    <p>9P is a network protocol developed (...) as the means of connecting the components
    of a Plan 9 system</p>
  </blockquote>
  
  <p>I want to know, from the programming perspective, what are the technologies that should be used to build such a module communication system. And what are the requirements for the operating system (read Unix derivatives) to support this protocol.</p>
  
  <p>In my understanding, each component (<em>id est</em>, application, module) of the entire network must have a private controller (or should this controller be shared across the system?), to send requests and receive responses, with the ability to perform the translation tasks between the internal logic of the individual application and the communication protocol itself (may be a specific language such as XML?, database, or even some kind of filesystem reflection of information?). From this (my) point of view the described system may be defined as a variant of client-server architecture but been projected to the local or restricted network scope and with emphasis on direct data access and efficiency. That's how I see the design of a <em>filesystem protocol</em>...</p>
  
  <p>I just initiated the study of operating systems' process/application communication techniques and would like to develop a mini filesystem protocol to see this concepts in action. I don't have any real and concrete work plan due to leak of theoretical fundaments so any explanations, literature suggestions, examples and just comments will be welcome!</p>