March 2003
Intermediate to advanced
912 pages
27h 17m
English
A design aim was that it should be possible to install, and add or remove dynamically, alternative device drivers in an arbitrary layered structure. For example, a number of existing file systems must be supported including MS-DOS's FAT, OS/2's HPFS, the CD-ROM file system CDFS in addition to the 'native' file system NTFS. Drivers should be portable and easy to develop, written in a high-level language.
As in all I/O systems concurrency control is crucial, especially as multiprocessor operation is supported. As always, hardware–software synchronization is needed, as is mutual exclusion from shared buffer space.
The I/O system is packet driven, that is, every I/O request is represented by an I/O request packet (IRP). A ...