The source for data in an input and output operation. An ultimate producer can be a file, a device, or an array of bytes in memory.