Framework for User-Space Devices (FUSD) is a
Linux framework for proxying device file callbacks
into user-space, allowing device files to be
implemented by daemons instead of kernel code.
Despite being implemented in user-space, FUSD
devices can look and act just like any other file
under /dev that is implemented by kernel callbacks.
A user-space device driver can do many of the
things that kernel drivers cannot, such as perform
a long running computation, block while waiting for
an event, read files from the file system, access
the network, talk to a serial port, and more.