The Third Generation of Operating Systems brings us back to the period 1965-1980. Its main key to success is multi-programming
In the early 1960s, the computer industry had two completely different product lines. The first line was used for numerical calculation purposes in science and engineering. The second line was that of commercial computers used for orders and for printing invoices, in banks and insurance companies. Holding these two lines was very costly for companies, and moreover, it was crystal clear the trend was to launch other new lines.
The impact of IBM
At this point, IBM introduced System / 360, which was a series of machines that were software compatible. These machines differed only in price and in performance, which means more memory, a higher processor’s speed, a different number of I / O devices, etc.
Since all of these machines had the same architecture as the same set of instructions, software compiled on one of these machines could run on other machines of the same category.
System / 360 was capable of calculating both numerical and commercial operations. System / 360 was the first line to use built-in circuits, thus providing a price and performance much better than the second-generation computers built on separate transistors. This was a great success of the time. Such lines derived from these systems are now used on web servers and they run thousands of processes per second.
The goal of third-generation operating systems was that all software, including the operating system System / 360 could work on all computer models, of all types and sizes. This operating system had to be efficient for all calculations and for all users. There was no way to write a program that met all these conflicting demands. The result was a very complex operating system. It consisted of millions of program lines in assembler language. These lines obviously contained thousands of bugs and errors. Additional lines were added to correct them, and each of these lines repaired some errors and added some more errors.
The role of Multi-programming
Despite the problems, third-generation operating systems introduced new techniques. One of them was multi-programming, which avoided the possibility that the CPU would be idle. As a solution, the memory was split into several parts, with some processes in these parts. While one job was processing an I / O task, another job could use the CPU.
Another important feature of this generation’s machines was the ability to read processes from disk cards once they were brought to the computer room. When the process was completed, the operating system loaded another disk job and executed it. However, these computers were still batch systems. They needed several hours to get the results of a process. An incorrect semicolon in the code causes compilation problems.
The goal of reaching a faster result led the way for time-sharing, a variant of multi-programming.
You can read also Forth Generation of Operating Systems