60 which was a series of software compatible computers ranging in different power of performance and price. The machines had the same architecture and instruction set, which allowed programs written for one machine to be executed on another. The operating system required to run on this family of computers has to be able to work on all models, be backwards compatible and be able to run on both small and large systems. The software written to handle these different requirements was OS/360, which consisted of millions of lines of assembly language written by thousands of different programmers. It also contained thousands of bugs, but despite this the operating system satisfactory fulfilled the requirements of most users. A major feature of the new operating system was the ability to implement multiprogramming. By partitioning the memory into several pieces, programmers where able to use the CPU more effectively then ever before, as a job could be processed whilst another was waiting for I/O to finish. Spooling was another important feature implemented in third generation operating systems. Spooling (Simultaneous Peripheral Operation OnLine) was is ability to load a new program into an empty partition of memory when a pervious job had finished. This technique meant that the IBM 1401 computer was no longer required to read the program from the magnetic tape. mission of a job and returning of results had increased. This led designers to the concept of timesharing, which involved each user communicating with the computer through an their own online terminal. The SPU could only be allocated to 3 terminals, each job held in a partition of memory. Many timesharing operating systems were introduced in the 1960's, including the MULTICS (Multiplexed Information and Computing Service). Developed by Bell Labs, MULTICS was written almost completely in highlevel language, and is known as the first major operating ...