Drivers written for MS-DOS fall into two distinct classes:
Block-device drivers
Character-device drivers
A driver's class determines what functions it must support, how it is viewed by MS-DOS, and how it makes the associated physical device appear to behave when an application program makes a request for I/O.