Simple Batch Systems:
Early machines were very expensive, and therefore it was important to maximize machine utilization. To improve utilization, the concept of batch operating system was developed. It appears that the first batch operating system (and the first operating system of any kind) was developed in the mid-1950s by General Motors for use on an IBM 701. The concept was subsequently refined and implemented on the IBM 704 by a number of IBM customers.
The central idea behind the batch processing system was the use of a piece of software known as the monitor. With the use of this type of operating system, the user no longer had direct access to the machine. Rather, the user submitted the job on cards or tape to a computer operator, who batches the jobs together sequentially and places the entire batch on an input device, for use by the monitor. Many important breakthroughs in operating system design occurred in the early 1960s which laid the foundation for design of modern operating system.
In 1963, Burroughs design of Master Control Program (MCP), which included design of many of the features of modern systems such as support for multiprocessing (with two identical CPUs) as well as multitasking capabilities.
IBM introduces OS/360 as the operating system for its new System/360 in 1964. OD/360 provided a powerful language to expedite batch processing known as Job Control Language. It introduced a simple form of multiprogramming or multitasking feature that facilitated loading several jobs into main memory, so that other jobs programs could use the CPU when one job was busy with I/O. By this time, disks were also becoming available. To take its advantage the OS introduced features to cards onto disk while the CPU executed its jobs; thus, when a job completed, the OS could load another job from disk into memory, ready to run. This improved the OS scheduling capability. Multiprogramming or multitasking is the central theme of modern operating system.