The general file system layer provides a POSIX style interface to the programmer via open, read, write and close. Data blocks are a general data abstraction, an approach, which is very flexible, but sub-optimal if the data is very specific and especially if the data amounts are rather small. The proc file system has a different approach. File operations are split in file system specific open/ release, and not file system specific but file specific read/ write, allowing to optimise not only with respect to performance but also with respect to data representation. In the examples given later, it can be seen how to register a specific read/ write method that allows to present kernel internal or driver specific data structures in a formatted manner as well as to perform data interpretation within the read/ write methods.