Development Of Operating Systems Essay, Research Paper
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.
The first operating system was designed by General Motors for the IBM 701. It was called Input/Output System, and consisted of a small set of code that provided a common set of procedures to be used to access the input and output devices. It also allowed each program to access the code when finished and accepted and loaded the next program. However, there was a need to improve the sharing of programs, which led to the development of the SOS (Share operating system), in 1959. The SOS provided buffer management and supervision for I/O devices as well as support for programming in assembly language. Around the same time as SOS was being developed, the first operating system to support programming in a high-level language was achieved. FMS (Fortran Monitoring System) incorporated a translator for IBM’s FORTRAN language, which was widely used as most programs where written in this language.
Third Generation Computers (1965-1980)
In the late 1960’s IBM created the System/360 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 On-Line) 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 time-sharing, which involved each user communicating with the computer through an their own on-line terminal. The SPU could only be allocated to 3 terminals, each job held in a partition of memory. Many time-sharing 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 high-level language, and is known as the first major operating system to have done so. MULTICS examined many new concepts including segmented memory, device independence, hierarchal file system, I/O redirection, a powerful user interface and protection rings.
The 1960’s also gave rise to the minicomputer, starting with the DEC PDP-1. Minicomputers presented the market with an affordable alternative to the large batch systems of that time, but had only a small amount of memory. The early operating system of the minicomputers were Input/Output selectors, and provided an interactive user interface for a single user, and ran only one program at a time.
By the 1970’s, DEC introduced a new family of minicomputers. The PDP-11 series had 3 operating systems available to use on the systems, a simple single user system (RT-11), a time sharing system (RSTS) and a real-time system (RSX-11).
RSX-11 was the most advanced operating system for the PDP-11 series. It supported a powerful command language and file system, memory management and muiltprogramming a number of tasks.
Around the same time as DEC were implementing their minicomputers, two researchers, ken Thomspson and Dennis Richie were developing a new operating system for the DEC PDP-7. Their aim was to create a new single-user operating, and the first version was officially released in 1971. This operating system, called UNIX became very popular and is still used widely today.
Fourth Generation Computers (1980-1990)
By the 1980’s, technology had advanced a great deal from the days of the mainframe computers and vacuum tubes. With the introduction of Large Scale Integration circuits (LSI) and silicon chips consisting of thousands of transistors, computers reached a new level.
Microcomputers, which were physically much like the minicomputers of the third generation, however they were much cheaper enabling individuals to now use them, not just large company’s and universities. These personal computers and required an operating system that was user friendly so that people with little computer knowledge was able to use it. In 1981, IBM was releasing a 16-bit personal computer, and required a more powerful operating system then the ones available at the time, so they turned to Microsoft to deliver it. The software, called Micro Soft Disk Operating System (MS-DOS) became the standard operating system for most personal computers of that era.
In the mid-1980’s, networks of personal computers had increased a great deal, requiring a new type of operating system. The OS had to be able to manage remote and local hardware and software, file sharing and protection, among other things. Two types of systems were introduced, the network operating system in which users can copy from one station to another, and the distributed operating system, in which the computer appears to be a uni-processor system, even though it is actually running programs and storing files in a remote location. One of the best known network operating system for a distributed network is the Network File System (NFS), which was originally designed by Sun Microsystems, for use on UNIX based machines. An important feature of the NFS is its ability to support different type of computers. This allowed a machine running NFS to communicate with an IBM compatible machine running MS-DOS, which was an important addition to networking computing.
In 1983, Microsoft Corporation introduced the MSX-DOS, an operating system for MSX microcomputers that can run 8-bit Microsoft software including the languages BASIC, COBOL-80, and FORTRAN-80, and Multiplan.
1984 saw the release of the Apple Macintosh, a low-cost workstation, which evolved from early Alto computer designs. The Macintosh provided advanced graphics and high performance for its size and cost. As the Macintosh was not compatible with other systems, it required its own operating system, which is how the Apple operating system was established. MIMIX, based on the UNIX design was also a popular choice for the Macintosh.
As computer processors got faster, operating systems also had to improve in order to take advantage of this progression. Microsoft released version 2 of MS-DOS, which adopted the many features that made UNIX so popular, although MS-DOS was designed to be smaller then, but was not as large as the UNIX operating system making it ideal for personal computers.
Modern Operating Systems
The past 9 years have seen many advances in computers and their operating systems. Processors continue to increase in speed, each requiring an operating system to handle the new developments. Microsoft Corporation has dominated the IBM compatible world, Windows being the standard operating system for majority of personal computers.
Now as computing and information technology becomes more towards the Internet and virtual computing, so too must the operating systems.
In 1992, Microsoft for Workgroups 3.1 was introduced, extending on from the previous versions. It allowed the sending of electronic mail, and provided advanced networking capabilities to be used as a client on an existing local area network. This was only the one stage in the vast evolution of the worlds most popular operating system, with the most recent being Windows NT and Windows 98, the latter being a fully Internet integrated operating system. Windows, however is not the only operating system in use today. Other’s such as UNIX, Apple Operating System and OS/Warp have also had an impact, each new version more advanced, and more user friendly then the last.