Driver sr needs updating debian
These special files allow an application program to interact with a device by using its device driver via standard input/output system calls.
Using standard system calls simplifies many programming tasks, and leads to consistent user-space I/O mechanisms regardless of device features and functions.
Unlike character devices, block devices will always allow the programmer to read or write a block of any size (including single characters/bytes) and any alignment.
The downside is that because block devices are buffered, the programmer does not know how long it will take before written data is passed from the kernel's buffers to the actual device, or indeed in what order two separate writes will arrive at the physical device; additionally, if the same hardware exposes both character and block devices, there is a risk of data corruption due to clients using the character device being unaware of changes made in the buffers of the block device.
These together can be called device special files in contrast to named pipes, which are not connected to a device but are not ordinary files either.
MS-DOS borrowed the concept of special files from Unix but renamed them devices.
In some Unix-like systems, most device files are managed as part of a virtual file system traditionally mounted at , possibly associated with a controlling daemon, which monitors hardware addition and removal at run time, making corresponding changes to the device file system if that's not automatically done by the kernel, and possibly invoking scripts in system or user space to handle special device needs.
In Unix systems which support chroot process isolation, such as Solaris Containers, typically each chroot environment needs its own , hardware isolation can be enforced by the chroot environment (a program can not meddle with hardware it can neither see nor name—an even stronger form of access control than Unix file system permissions).
MS-DOS managed hardware device contention (see TSR) by making each device file exclusive open.
Some of the most commonly used (character-based) pseudo-devices include: Nodes are created by the mknod system call.
The command-line program for creating nodes is also called mknod.