In this section, we shall cover what the proc filesystem is and how you can leverage it as an interface between user and kernel address spaces. The proc filesystem is a powerful and easy-to-program interface, often used for status reporting and debugging core kernel systems.
Note that from version 2.6 Linux onward and for upstream contribution, this interface is not to be used by driver authors (it's strictly meant for kernel-internal usage only). Nevertheless, for completeness, we will cover it here.