A BIT OF HISTORY

0

 A BIT OF HISTORY

In attempting to understand the key requirement for an operating system and the significance of the major features of a contemporary operating system, it is useful to consider how operating systems have evolved over the years.

Serial Processing 

During the late 1940s to the mid-1950s, the programmer interacted directly with computer hardware; there was no operating system. These machines were run by operators from a console, consisting of displays lights, toggle switches, some form of input device and a printer. Programs in machine code were loaded via a card reader.

This mode of operation could be termed serial processing, reflecting the fact that users have access to the computer in series. Gradually, various system software tools were developed which included libraries of common functions, linkers, loaders, debuggers, and I/O driver software to attempt to make serial processing more efficient.

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.

Time Sharing System 

With the use multiprogramming, the batch processing can be quite efficient. However, for many jobs, it is desirable to provide a mode in which the user interacts directly with the computer. Indeed for some jobs, such as transaction processing, an interactive mode is essential

Today, the requirement for an interactive computing facility can be, and often is, Operating Sytem met by the use of a dedicated microcomputer. That option was not available in the 1960s when most computers were big and costly. Instead time sharing was developed. Just as multiprogramming allows the processor to handle multiple batch jobs at a time, multiprogramming can be used to handle multiple interactive jobs. In this latter case, the technique is referred to as time sharing, because the processor’s time is shared among multiple users. In time sharing system, multiple users simultaneously access the system through terminals, with the operating system interleaving the execution of each user program in a short burst or quantum of computation.

Both batch processing and time sharing use multiprogramming. The key differences are shown in the following table.
MIT, Bell Labs, and GE formed a partnership to develop a major time-sharing system. The system, was called MULTICS (Multiplexed Information and Computer Service), and although MULTICUS never became a full fledged operating system but many of the most important multitasking concepts and algorithms were developed by the MULTICS team.

  • During 1960-1970, many other developments in OS design took place: (a) Hierarchical approach to OS, for example the THE OS designed by Dijkstra.
  • (b) It also showed the advantages of modular programming design in the implementation of OS.

Development of UNIX

  • The original UNIX development was performed on a Digital PDP-7 minicomputer and later moved to a PDP-11 minicomputer, the forerunner of the VAX computer. Originally, the system was written in assembly language, but at the later stage the operating system was largely rewritten in C.
  • Another important innovation, some would say the most important development in making the computer accessible to nontechnical users, was the development of the concept of graphical user interfaces.

Development of Personnel Computer Operating System 

  • The next important breakthrough in computer use occurred in 1982, with the introduction of the IBM personal computer. The IBM PC was designed as a stand-alone, single-user computer for the mass market. The IBM PC was supplied with a reasonably easy-to-use operating system, PC-DOS, which was developed, and also later marketed, by Microsoft as MS-DOS. PC-DOS was actually derived from an earlier personal computer operating, CP\M (Control Program for Microcomputers)

Other Developments during 1980-1990s

  • The evolution of MS-DOS into Windows 2000, a GUI-based operating system capable of supporting a wide range of users and applications, from the individual working at a PC to a networked enterprise system capable of managing every aspect of a large organization. This capability was formerly limited to large, mainframe-based multiuser systems.
  • The development of Linux operating system client-server configuration model, which took place at a number of different universities during the 1980s, and the use of these microkernels, particularly Mach, as the basis for the development of new operating systems of unparalleled power, stability, and simplicity.
  • The development of the Distributed Computing Environment, plus objectbased extensions that make distributed processing practical. 
  • Creation of the JAVA Virtual Machine and other aspects of the JAVA language and environment as a means to share and execute objects in a way that is truly machine independent and network transparent.
  • There have been many other less obvious developments in operating system technology, both subtle and sophisticated, that have impacted computer system design and operation.  

Post a Comment

0Comments
Post a Comment (0)