(1) Advantages of logical devices:
Flexibility during device allocation; easy to implement I/O redirection; (2) display the current file list in Dir-windows; LS in UNIX; (3) i/O software uses a layered structure, which organizes software into a series of layers. The underlying layer is used to isolate hardware features, so that other software does not rely on hardware.
The high-level participants provide users with a friendly, clear and unified structure. I/O software is generally divided into four layers: Interrupt Processing.Program, Device drivers, operating system software unrelated to the device; and user-level software (I/O software for user space) (4) the modern operating system simplifies the installation of the driver by using the restructured Device Driver technology. This system allows the installation of new input and output devices, as long as the corresponding device driver is added to the operating system, instead of compiling the operating system, you only need to re-configure the system through some operations. This reconfigurability allows you to dynamically change the operating system through the operating system design.Code(5) the I/O functions required by all devices are implemented in independent software; this type of software is oriented to the application layer and provides a unified application programming interface (API). It provides a set of function functions that application programmers can call to manage devices; this interface is a simplified and simple abstract interface of device hardware. It provides logical operations on logical devices. It is accepted and translated by the file system and device management functions, converts data to physical devices, physical devices, and physical operations. The functions of the system software unrelated to the device include: unified interface of the device driver, device name, device protection, providing a device-independent Logical Block, buffer zone, block allocation of storage devices, distribution and release of exclusive devices, and error handling;