In simple terms, an operating system is a manager. It manages all the available resources on a computer. These resources can be the hard disk, a printer, or the monitor screen. Even memory is a resource that needs to be managed. Within an operating system are the management functions that determine who gets to read data from the hard disk, what file is going to be printed next, what characters appear on the screen, and how much memory a certain program gets.
Once upon a time, there was no such thing as an operating system. The computers of forty years ago ran one program at a time. The program (punched cards) was fed into the computer by an operator who then passed the printed output back to the programmer several hours later.
In the 1960’s, technology and operating system theory advanced to the point that many different programs could be held in memory at once. This was the concept of “multiprogramming.” If one program needed to wait for some external event such as the tape to rewind to the right spot, another program could have access to the CPU. This improved performance dramatically and allowed the CPU to be busy almost 100 percent of the time.
Today, the speed at which computer transactions occur is often talked about in terms of billionths of a second. Because of this speed, today’s computers can give the appearance of doing many things simultaneously by actually switching back and forth between each task extremely fast. This is the concept of multitasking. That is, the computer is working on multiple tasks “at the same time.”
Another function of the operating system is to keep track of what each program is doing. That is, the operating system needs to keep track of whose program, or task, is currently writing its file to the printer or which program needs to read a certain spot on the hard disk, etc. This is the concept of multi-users, as multiple users have access to the same resources.