What are the different kinds of errors that the I/O component of an Operating System has to handle?
The I/O component of an OS interfaces I/O devices to the rest of the system, and allows transfer of data into and out of the system. Any condition that interferes with the smooth conduction of this operation is an error. Thus, errors can be of various types. One way to classify errors could be, data errors versus operational errors. An example of a data error is a parity or checksum errors while reading from a disk or memory. The error could be a `transient’ error caused by, say, a speck of dust or a voltage spike, or it could be `permanent’, such as a damaged sector on a disk, or a burnt memory cell. Examples of operational errors include buffer overflow, invalid seek specifications, incorrect controller commands, or breakdown of communication between the I/O driver and controller, or between the controller and the rest of the device.