Evolution of Operating Systems over the Decades
Operating systems have evolved over the past 50 years through distinct phases, from the early history of primitive machines in the 1940s and 1950s to the development of batch processing systems in the 1960s and multimode time-sharing systems in the 1970s. The 1980s marked the era of personal computing and distributed computing, leading to the client/server model and the emergence of application software packages. The 1990s saw the rise of true distributed computing with multiprocessor systems and dynamic network configurations.
Uploaded on Aug 04, 2024 | 0 Views
Download Presentation
![](/assets/img/so-down.gif)
Please find below an Image/Link to download the presentation.
The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author. Download presentation by click this link. If you encounter any issues during the download, it is possible that the publisher has removed the file from their server.
E N D
Presentation Transcript
Operating system Lecture one part2 Dr jamal altuwaijari
1.5 1.5 The The 0 0/S development history: /S development history: Operating system have developed over the last 50 years through a number of distinct phases or generations to the decades:- Early history (The 1940's and 1950's) In this lime the earliest Electronic digital computers had no 0/S. Machines of that period were Primitive. The programs were often entered one Bit at a time on rows of mechanical switches. Eventually machine language programs were entered on punched cards, and assembly languages were developed to speed the programming process. The 1' 0/S implemented in the early 1950's, this system ran one job at a time and smoothed the transition between jobs to get maximum utilization of the computer system. This type of 0/S called single-stream Batch processing system, because program and data were submitted in groups or batches.
0 0/S /S 1960 1960's 's They were also batch processing system, but they were able to take advantage of computers resources by running several jobs at once. The 0/S designer developed the concept of multiprogramming, and software engineering field was appeared.
0 0/S /S 1970 1970's 's They were multimode time sharing system that supported batch processing, time-sharing, and real-time application. The P.0 was in its first development stage. Communication between C/S became widely used. Communication in local area net works (LAN) was made practical and economical by Ethernet standard.
0 0/S /S 1980 1980's 's The 1980's was a decade of P.0 and the workstation. Microprocessor technology it became possible to build desktop computers as powerful as the mainframe of the 1970's. Individuals could have their own computers for performing their work and they could use communication facilities for transmitting data between systems. Computing was distributed to the sites which it was needed rather than bringing the data to be processed to some central-scale computer installation. Application software packages are available such as:- 1. Spread sheet programs. 2. Word processors. 3. Data base packages. 4. Graphics packages. 5. Transfer information between computers in computers in computer network (E-mail, Remate DB access application....etc) were widely used. 6. The client/server model became wide spread : Clients are network users that need various services performed; servers are FI/W, S/W and network components that perform these services.
0 0/s /s 1990 1990's and beyond 's and beyond In the 1990's we enter the area of true distribute computing in which computations will be divided into sub-computation that can be executed on other processors in multiprocessor computer network. Networks will be dynamically configured, they will continue operating even as new devices and S/W are added or removed by using registration procedure.
0 0/s /s 2000 2000 and Beyond and Beyond Middleware oLinks two separate applications Often over a network and between incompatible machines oParticularly important for Web services Simplifies communication across multiple architectures Web services oEncompass set of related standards oReady-to-use pieces of software on the Internet oEnable any two applications to communicate and exchange data
1.6 1.6 Types of Operating System Types of Operating System Operating systems are there from the very first computer generation and they keep evolving with time. In this chapter, we will discuss some of the important types of operating systems which are most commonly used.
1 1. Batch operating system . Batch operating system The users of a batch operating system do not interact with the computer directly (figure 1.2). Each user prepares his job on an off-line device like punch cards and submits it to the computer operator. To speed up processing, jobs with similar needs are batched together and run as a group. The programmers leave their programs with the operator and the operator then sorts the programs with similar requirements into batches. The problems with Batch Systems are as follows Lack of interaction between the user and the job. CPU is often idle, because the speed of the mechanical I/O devices is slower than the CPU. Difficult to provide the desired priority.
1 1. Batch operating system . Batch operating system Operating system User program area Fig 1.2 Advantages of batch system is very simple. Disadvantages There is no direct interaction between the user and the job while the job is executing. The delay between the job submission and the job completion (called turnaround time) may result from amount of computing time needed.
2 2. Time . Time- -sharing operating systems sharing operating systems Time-sharing is a technique which enables many people, located at various terminals, to use a particular computer system at the same time. Time-sharing or multitasking is a logical extension of multiprogramming. Processor's time which is shared among multiple users simultaneously is termed as time-sharing. The main difference between Multiprogrammed Batch Systems and Time- Sharing Systems is that in case of Multiprogrammed batch systems, the objective is to maximize processor use, whereas in Time-Sharing Systems, the objective is to minimize response time. CPU TERMINAL SINGLE-USER INTERACTIVE
2 2. Time . Time- -sharing operating systems sharing operating systems TERMINAL CPU TERMINAL TERMINAL TIME-SHARING SYSTEM FIG.1.3 Multiple jobs are executed by the CPU by switching between them, but the switches occur so frequently. Thus, the user can receive an immediate response. For example, in a transaction processing, the processor executes each user program in a short burst or quantum of computation. That is, if n users are present, then each user can get a time quantum. When the user submits the command, the response time is in few seconds at most.
2 2. . Time Time- -sharing operating systems sharing operating systems The operating system uses CPU scheduling and multiprogramming to provide each user with a small portion of a time. Computer systems that were designed primarily as batch systems have been modified to time-sharing systems. Advantages of Timesharing operating systems are as follows Provides the advantage of quick response. Avoids duplication of software. Reduces CPU idle time. Disadvantages of Time-sharing operating systems are as follows Problem of reliability. Question of security and integrity of user programs and data.
3 3. Real Time operating System . Real Time operating System A real-time system is defined as a data processing system in which the time interval required to process and respond to inputs is so small that it controls the environment. The time taken by the system to respond to an input and display of required updated information is termed as the response time. So in this method, the response time is very less as compared to online processing. Real-time systems are used when there are rigid time requirements on the operation of a processor or the flow of data and real-time systems can be used as a control device in a dedicated application. A real-time operating system must have well-defined, fixed time constraints, otherwise the system will fail. For example, Scientific experiments, medical imaging systems, industrial control systems, weapon systems, robots, air traffic control systems, etc. There are two types of real-time operating systems.
types of real-time operating systems Hard real-time systems Hard real-time systems guarantee that critical tasks complete on time. In hard real-time systems, secondary storage is limited or missing and the data is stored in ROM. In these systems, virtual memory is almost never found. Soft real-time systems Soft real-time systems are less restrictive. A critical real-time task gets priority over other tasks and retains the priority until it completes. Soft real-time systems have limited utility than hard real-time systems. For example, multimedia, virtual reality, Advanced Scientific Projects like undersea exploration and planetary rovers, etc. CPU INPUT FIG 1.4 OUTPUT
4. Distributed operating System Distributed systems use multiple central processors to serve multiple real-time applications and multiple users. Data processing jobs are distributed among the processors accordingly. The processors communicate with one another through various communication lines (such as high-speed buses or telephone lines). These are referred as loosely coupled systems or distributed systems. Processors in a distributed system may vary in size and function. These processors are referred as sites, nodes, computers, and so on.
4. Distributed operating System The advantages of distributed systems are as follows With resource sharing facility, a user at one site may be able to use the resources available at another. Speedup the exchange of data with one another via electronic mail. If one site fails in a distributed system, the remaining sites can potentially continue operating. Better service to the customers. Reduction of the load on the host computer. Reduction of delays in data processing. If one site fails in a distributed system, the remaining sites can potentially continue operating. Better service to the customers. Reduction of the load on the host computer. Reduction of delays in data processing.
5. Network operating System A Network Operating System runs on a server and provides the server the capability to manage data, users, groups, security, applications, and other networking functions. The primary purpose of the network operating system is to allow shared file and printer access among multiple computers in a network, typically a local area network (LAN), a private network or to other networks. Examples of network operating systems include Microsoft Windows Server 2003, Microsoft Windows Server 2008, UNIX, Linux, Mac OS X, Novell NetWare, and BSD. The advantages of network operating systems are as follows Centralized servers are highly stable. Security is server managed. Upgrades to new technologies and hardware can be easily integrated into the system. Remote access to servers is possible from different locations and types of systems. The disadvantages of network operating systems are as follows High cost of buying and running a server. Dependency on a central location for most operations. Regular maintenance and updates are required.
1.7 1.7 Performance Development Performance Development 0/S attempted to schedule computational activities to ensure good performance, where many facilities had been added to 0/S some of these are: 1.7.1 On-Line and Off-Line operation A special subroutine was written for each I/O device called a device-driver, and some peripherals (1/0 devices) has been equipped for either On-Line operation, in which they are connected to the processor, or off-line operations in which they are run by control units not connected to the central C/S card-to-tape or Tape-to-Print Operations are performed by off-line units. The figure 1.5 illustrate the on-line and off-line operation.
L/P CPU C/R On-line operation The main advantage of off-line operation was that, the CPU was no longer constrained by the speed of C/R and UP, but limited by only the speed of MIT unit.
1.7.2 1.7.2 Buffering Buffering A buffer is an area of primary storage for holding data during I/O transfers, where the I/O transfer speed depends on many factors related to the I/O Hardware but normally unrelated to processor operation. On input the data placed in the buffer by an I/O channel when the transfer is complete the data may be accessed the processor. There are two types of buffering: 1. The single-buffered: The channel deposits data in a buffer the processor will access that data the channel deposits the next data, etc. while the channel is depositing data no processing on that data may occur. 2. The double-buffering: This system allows overlap of I/O operation with processing; while the channel is depositing data in one buffer the processor may be processing data in the other buffer. When the processor is finished processing data in one buffer it may process data in the second buffer. In buffering the CPU and I/O are both busy.
1.7.3 1.7.3 Spooling: Spooling: (Simultaneous Peripheral Operation On-Line) 1. Spooling uses the disk as a very large buffer for reading as far a head as possible on input devices and for storing output files until the output devices are able to accept them. 2. Spooling is now a standard feature of most O.S. 3. Spooling allows the computation of one job can overlap with the 1/0 of another jobs, therefore spooling can keep both CPU and the I/O devices working as much higher rates. 4. The figure below show the spooling layout.
1.7.4 1.7.4. Multiprogramming . Multiprogramming I. Spooling provides an important data structure called a job pool kept on disk. The 0/S picks one job from the pool and begin to execute it. 2. In multiprogramming system, when the job may have to wait for any reason such as an I/O regrets, the OIS simply switches to and executes another job. When the second job need to wait the CPU is switches to another job and so on. Then the CPU will never be idle. 3. The figure below show the multiprogramming layout where the 0/S keeps several jobs in memory at a time. This set of jobs is a subset of the jobs kept in the job pool.
1.7.5 1.7.5. Parallel systems . Parallel systems 1. Most systems to date are single-processor systems that is they have one main CPU. 2. There is a trend to have multiprocessor system, where such systems have more than one processor in close communication sharing the computer Bus, the clock, and sometimes memory and peripheral devices, in the figure below. 3. The advantage of this type of systems to increase the throughput (the number of jobs completed in unit of time).