Question: what are the responsibilities of an operating system?
Answer: Hiding the complexities of hardware from the user. Managing between the hardware's resources which include the processors, memory, data storage and I/O devices. Handling "interrupts" generated by the I/O controllers. Sharing of I/O between many programs using the CPU.