O'Reilly logo

Operating Systems: Concurrent and Distributed Software Design by Tim Harris, Jean Bacon

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

27.6. The I/O subsystem

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 ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required