Operating System Lecture One: DR Jamal Altuwaijari

You might also like

Download as pptx, pdf, or txt
Download as pptx, pdf, or txt
You are on page 1of 24

Operating system

Lecture one
part2
Dr jamal altuwaijari
1.5 The 0/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/S 1960'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/S 1970'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/S 1980'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/s 1990'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/s 2000 and Beyond
• Middleware
o Links two separate applications
• Often over a network and between incompatible machines
o Particularly important for Web services
• Simplifies communication across multiple architectures
• Web services
o Encompass set of related standards
o Ready-to-use pieces of software on the Internet
o Enable any two applications to communicate and exchange data
 
1.6 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. 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. 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. Time-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. Time-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. Time-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. 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.

INPUT
CPU

OUTPUT
FIG 1.4
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 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.
C/R CPU L/P

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 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
:The single-buffered .1
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
:The double-buffering .2
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 Spooling: (Simultaneous Peripheral Operation On-Line)
Spooling uses the disk as a very large buffer for reading as far a head as possible .1
on input devices and for storing output files until the output devices are able to
.accept them
.Spooling is now a standard feature of most O.S .2
Spooling allows the computation of one job can overlap with the 1/0 of another .3
jobs, therefore spooling can keep both CPU and the I/O devices working as much
.higher rates
.The figure below show the spooling layout .4
 
1.7.4. 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
In multiprogramming system, when the job may have to wait for any reason such as an I/O .2
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
The figure below show the multiprogramming layout where the 0/S keeps several jobs in memory .3
.at a time. This set of jobs is a subset of the jobs kept in the job pool
1.7.5. Parallel systems
.Most systems to date are single-processor systems that is they have one main CPU .1
There is a trend to have multiprocessor system, where such systems have more than one .2
processor in close communication sharing the computer Bus, the clock, and sometimes memory
.and peripheral devices, in the figure below
The advantage of this type of systems to increase the throughput (the number of jobs completed .3
.in unit of time)

You might also like