Summary
Look at exercises 11.1, 11.2, 11.7, 11.8
Hardware characteristics underlying IO devices are abstracted for presenting easier-to-use and uniform logical interface to the processes.
Performance improvement is another important objective which is achieved through buffering schemes and scheduling algorithms.