Operating system control Input and Output devices, so the user can enter data and access the output. OS schedules the allocation of the I/O devices for all processes. As a user, when we execute a program we need to enter data and get our desired result. For example, if a user writes (Input) a letter with a text editor, he also needs to print (Output) the same letter or views it on the monitor. Each input or output device (Keyboard, Mouse, Printer, etc.) has its own controller. The operating system must have the power to manage all these devices and hide (abstraction) their hardware details from the user.