<P> Support for file systems is highly varied among modern operating systems, although there are several common file systems which almost all operating systems include support and drivers for . Operating systems vary on file system support and on the disk formats they may be installed on . Under Windows, each file system is usually limited in application to certain media; for example, CDs must use ISO 9660 or UDF, and as of Windows Vista, NTFS is the only file system which the operating system can be installed on . It is possible to install Linux onto many types of file systems . Unlike other operating systems, Linux and UNIX allow any file system to be used regardless of the media it is stored in, whether it is a hard drive, a disc (CD, DVD ...), a USB flash drive, or even contained within a file located on another file system . </P> <P> A device driver is a specific type of computer software developed to allow interaction with hardware devices . Typically this constitutes an interface for communicating with the device, through the specific computer bus or communications subsystem that the hardware is connected to, providing commands to and / or receiving data from the device, and on the other end, the requisite interfaces to the operating system and software applications . It is a specialized hardware - dependent computer program which is also operating system specific that enables another program, typically an operating system or applications software package or computer program running under the operating system kernel, to interact transparently with a hardware device, and usually provides the requisite interrupt handling necessary for any necessary asynchronous time - dependent hardware interfacing needs . </P> <P> The key design goal of device drivers is abstraction . Every model of hardware (even within the same class of device) is different . Newer models also are released by manufacturers that provide more reliable or better performance and these newer models are often controlled differently . Computers and their operating systems cannot be expected to know how to control every device, both now and in the future . To solve this problem, operating systems essentially dictate how every type of device should be controlled . The function of the device driver is then to translate these operating system mandated function calls into device specific calls . In theory a new device, which is controlled in a new manner, should function correctly if a suitable driver is available . This new driver ensures that the device appears to operate as usual from the operating system's point of view . </P> <P> Under versions of Windows before Vista and versions of Linux before 2.6, all driver execution was co-operative, meaning that if a driver entered an infinite loop it would freeze the system . More recent revisions of these operating systems incorporate kernel preemption, where the kernel interrupts the driver to give it tasks, and then separates itself from the process until it receives a response from the device driver, or gives it more tasks to do . </P>

Operating system acts as a manager of various resources