The different types of device drivers used in linux are character device and block device. Is there another classification?

closed as not a real question by Gilles, slm, vonbrand, Hauke Laging, Anthon Jun 5 '13 at 3:20

It's difficult to tell what is being asked here. This question is ambiguous, vague, incomplete, overly broad, or rhetorical and cannot be reasonably answered in its current form. For help clarifying this question so that it can be reopened, visit the help center. If this question can be reworded to fit the rules in the help center, please edit the question.


In the traditional classification, there are three kinds of device:

  • block device
  • character device
  • others!

As you can figure out exploring /dev, there are devices which are not block neither char device. For example, physical net interfaces are not represented by a file in the filesystem and you cannot read(1) and write(1) from them the same way you can with your keyboard or your soundcard. The only interfaces present in /dev are virtual interfaces like tun or tap.

There are also other classifications the kernel linux uses, called "classes". You can see the list of classes under /sys/class. From the documentation of the kernel:

Each device class defines a set of semantics and a programming interface that devices of that class adhere to. Device drivers are the implementation of that programming interface for a particular device on a particular bus.


Not the answer you're looking for? Browse other questions tagged or ask your own question.