An operating system is the program that manages all the application programs in a computer system. This also includes managing the input and output devices, and assigning system resources.
Operating systems evolved as the solution to the problems that were evident in early computer systems, and coincide with the changing computer systems. Three cycles are clear in the evolution of computers, the mainframe computers, minicomputers and microcomputers, and each of these stages influenced the development of operating systems.
Now, advances in software and hardware technologies have resulted in an increased demand for more sophisticated and powerful operating systems, with each new generation able to handle and perform more complex tasks. The folowing report examines the development of operating systems, and how the changing tehcnology shaped the evolution of operating systems.
First Generation Computers (1945?1955)
In the mid?1940's enormous machines capable of performing numerical calculations were created. The machine consisted of vacuum tubes and plugboards, and programming was done purely in machine code. Programming languages were unheard of during the early part of the period, and each machine was specifically assembled to carry out a particular calculation.
These early computers had no need for an operating system and were operated directly from the operator's console by a computer programmer, who had immediate knowledge of the computers design.
By the early 1950's punched cards were introduced, allowing programs to be written and read directly from the card, instead of using plugboards.
Second Generation Computers (1955?1965)
In the mid?1950's, the transistor was introduced, creating a more reliable computer. Computers were used primarily for scientific and engineering calculations and were programmed mainly in FORTRAN and assembly language.
As computers became more reliable they also became more business orientated, although they were still very large and expensive. Because of the expenditure, the productiveness of the system had to be magnified as to ensure cost effectiveness. Job scheduling and the hiring of computer operators, ensured that the computer was used effectively and crucial time was not wasted.
Loading the compliers was a time consuming process as each complier was kept on a magnetic tape, which had to be manually mounted. This became a problem particularly when there were multiple jobs to execute written in different languages (mainly in Assembly or Fortran). Each card and tape had to individually be installed, executed then removed for each program. To combat this problem, the Batch System was developed. This meant that all the jobs were grouped into batches and read by one computer (usually an IBM 1401) then executed one after the other on the mainframe computer (usually an IBM 7094), eliminating the need to swap tapes or cards between programs.