Up: FUNDAMENTAL IDEAS
Previous: 6) Distributed System Code
As far as possible, we intended to provide a user program with a
direct representation of each I-O device. We intended to avoid
converting I-O devices into virtual objects, such as files. Such
conversion would be provided by ``user'' programs, many of which we
would write. However, since it would be possible for users with
special needs to write their own, we were released from the obligation
to provide for all possible uses of a given device.
Furthermore, we wanted the possibility of emulating a device by a
process. Thus, any communication with a device must be interceptable
by an emulating process. This ruled out special virtual instructions
for communicating with I-O devices.