Operating systems mostly act as the middleman between a computer's programs and its hardware. Although many applications do interface directly with the computer's hardware, operating systems are needed to bridge gaps between them in issues like input and output (keyboard, mouse, speakers, and even internet components) and memory allocation. Operating systems are also the software that handles interrupts, delivers certain services as a result of an operating system (OS) call from the program, and multi-tasking. In truth, computers can seldom perform more than one or two actions at once so an OS is needed to split the processor time between programs, down to mere fractions of seconds, so that it appears to things are happening simultaneously to the user. Processor time is just one of the resources an OS must manage to allow for an efficient, clean experience on the user end - mass storage, printing and many more are dependent on the OS's 'choices'.
Because of an OS's time and resource micromanaging/accounting capabilities, most application programs rely on an OS to function. For this reason, almost everything that is a computer has an operating system of some kind. Well-known examples of today's world include Android, BSD, iOS, GNU/Linus, OS X, z/OS, QNX and Windows. All of the listed share roots in UNIX, save z/OS and Microsoft's Windows.