Thanks to visit codestin.com
Credit goes to www.scribd.com

0% found this document useful (0 votes)
675 views14 pages

Chapter 1 - Introduction

The document provides an overview of operating systems, including their evolution and components. It discusses how operating systems act as an interface between hardware and users, managing computer resources. It describes the four generations of computers from mechanical to integrated circuits, and how operating systems evolved from no OS to support for multiprocessing, graphical interfaces, and more. It also outlines the hierarchy of computer storage and defines mainframe systems.

Uploaded by

hehehe
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
675 views14 pages

Chapter 1 - Introduction

The document provides an overview of operating systems, including their evolution and components. It discusses how operating systems act as an interface between hardware and users, managing computer resources. It describes the four generations of computers from mechanical to integrated circuits, and how operating systems evolved from no OS to support for multiprocessing, graphical interfaces, and more. It also outlines the hierarchy of computer storage and defines mainframe systems.

Uploaded by

hehehe
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 14

Chapter 1

Introduction
04 Hours
12 Marks

1.1 What is Operating System?

Operating System is system software which acts as an interface


between user and hardware. In other words, it is software that manages
computer hardware (or resources).
Operating system may be considered as organized collection of
software extensions of hardware, consisting of control routines for
operating a computer and for providing an environment for execution of
programs. Programs invoke (i.e. call) system calls for getting services of
operating system. Users may interact with operating system with the help of
operating system commands.
Computer system consists of one or more processors, main memory, disks,
files, keyboard, mouse, printers, display devices, network interfaces and many
more I/O devices. To manage all these resources, there is a software layer called
operating system. As a resource manager, operating system keeps track of
status of each resource and decides who gets resource, when and for how long. In
systems supporting concurrent (i.e. simultaneous or coordinated) execution of
programs, operating system resolves conflicting requests for resources so that
system integrity is preserved and resulting performance is optimized.

Figure 1.1: Operating System as a Manager

Primary objective of operating system is to increase productivity of


resources of a computer system. Secondary objective is convenience and
productivity of user.
1-1
A computer system can be divided into four components as
- Hardware
- Operating System
- System and Application Programs
- Users

User 1 User 2 User 3 User n

Text Editor Worksheet Database Compiler


System

System and Application Programs

Operating System

Computer Hardware

Figure 1.2: Components of Computer System

Hardware (processor, memory, I/O devices) provides basic computing


resources of the system. Application programs such as word processors,
spreadsheets etc and system programs like compilers define the ways in which
these resources are used for solving users computing problems.
In general we can say that operating system is like a government. Like
government it performs no useful function as such, but provides an environment
within which other programs can do useful work.

1.2 Evolution of Operating System

Evolution of operating system is very much linked with the development of


various generations of the computer systems.

1.2.1 Zeroth Generation (Mechanical Parts)


First computer was designed by an English mathematician Charles
Babbage (1732 – 1871). This machine had a mechanical design with wheels, gears
etc. There was no operating system for this machine.
1-2
1.2.2 First Generation (1945 – 1955) (Vacuum Tubes)
Computers in this generation were using vacuum tubes (electronic parts)
rather than mechanical parts. These machines were huge and their continued use
generated a large heat. Vacuum tubes used to get burnt. These machines were
single-user and were extremely unfriendly to users/ programmers. Programming
was done in machine language (sometimes called as first generation language).
There was no operating system for these machines also.

1.2.3 Second Generation (1955 – 1965) (Transistors and batch systems)


Around 1955, transistors were introduced. Due to replacement of vacuum
tubes by transistors, size and cost was dramatically reduced. On the other hand
reliability was improved. First time new categories of professionals like system
analysts, designers, programmers and operators were introduced.
Assembly language (as a second generation language) and FORTRAN as a
high level language (third generation language) emerged due to which
programmer’s job was simplified.
But these were batch systems. An operator was continuously busy with
loading and unloading cards and tapes. Only one job could run at a time. At end
of one job, operator had to dismount tapes, take out cards, load deck of cards and
mount tapes for new job. To improve efficiency, similar jobs were batched
together.
Some of the operating systems used in this generation were Master Control
Program (MCP), FORTRAN Monitor System (FMS) and IBSYS (IBM’s operating
system).

1.2.4 Third Generation (1965 – 1980) (Integrated Circuits and


Multiprogramming)
In 1964, IBM announced System-360 series of computers. These computers
used integrated circuits (ICs) with SSI (Small Scale Integration). Major features
of these computers and their operating system were multiprogramming and
spooling.
Operating system supported mainly batch programs. But
multiprogramming was become popular. Physical memory was divided into
many partitions each holding a separate program (One partition holding
operating system). When I/O operation for one program was going on CPU
switched to another program.

Operating System

Job 1

Job 2

Job 3

Figure 1.3: Memory Layout of Multiprogramming System

1-3
Concept of Simultaneous Peripheral Operations On-Line (spooling)
was developed during this period. All the jobs are read into disk first. Then
operating system loads jobs into memory one by one until available memory could
accommodate them. When multiple programs were loaded in different partitions
of memory, CPU switched from one program to another to achieve
multiprogramming. Whenever any program printed something, it was not
directly sent to printer. Instead, the print image was written on the disk area
reserved for spooling. Later on, at some convenient time actual printing from the
disk is done.
Advantages of spooling were
- It allowed smooth multiprogramming operation.
- All the I/O of all the jobs was essentially pooled together.

1.2.5 Fourth Generation (1980 onwards) (Large Scale Integration)


Large Scale Integration (LSI) circuits came into existence due to which
thousands of transistors could be packaged on a very small chip of silicon. So, size
of computer also reduced. Era of microcomputers and personal computers had
begun.
Control Program for Microcomputers (CP/M) was almost first
operating system for microcomputers. Then MP/M was designed as multiuser,
timesharing operating system with real-time capabilities. Then CP/NET was
released with networking capabilities.
On arrival of IBM-PC based on Intel 8086 and subsequent models, Disk
Operating System (DOS) was written.
With 80386 and 80486 graphic displays became faster. So Graphical User
Interface (GUI) became possible. Microsoft introduced MS-WINDOWS which was
not a real operating system. As a continuous development at Microsoft, the
operating systems developed for desktop users were Windows 3.11, Windows
95, Windows 98, Windows ME, Windows XP, Windows 7, Windows 8 and so
on. For business users operating systems developed were Windows NT,
Windows 2000, Windows 2003 Server and so on.
On UNIX front also several attempts were made. But Linux is perhaps
most popular UNIX variant.

1.3 Storage Structure in Computer


Registers

Cache

Main Memory

Magnetic Disk

Optical Disk

Magnetic Tape
Figure 1.4: Storage Structure

1-4
Wide variety of storage systems in a computer system can be organized as
shown in figure 1.4. It can be considered as a hierarchy of speed and cost. Higher
the level in the hierarchy more is the speed (i.e. access time is less) and more is
the cost (per-bit cost). As we move down to the lower levels, per-bit cost decreases;
but speed also reduces (i.e. access time increases).

1.4 Mainframe Systems

Mainframe computer systems are the room-sized computers. Such


computers were used in old generations. Nowadays also such room-sized
computers are found in major corporate data centers. High end web servers,
servers for large scale e-commerce sites etc are also mainframe computers. A
mainframe computer may have thousands of disks containing millions of
gigabytes of data. They also differ from a personal computer in the I/O capacity.

Figure 1.5: Old Mainframe System

Figure 1.6: New Mainframe System

The operating systems of mainframe computers are mainly oriented


towards execution of multiple jobs at a time. They typically offer three kinds of
services – batch, transaction processing and timesharing.
A batch system is one that processes routine jobs without user
intervention. Examples of jobs executed in batch mode are 1) sales reporting for
chain of stores and 2) Claims processing in an insurance company.
Transaction processing system handles large numbers of small requests.
Each unit of work is small. But system must be capable of handling thousands of
requests per second. Examples of transaction processing are check processing at
banks, airline/ railway reservations.
1-5
Timesharing system allows multiple remote users to run their jobs (like
querying database e.g. viewing result of MSBTE examination) at once.
The functions discussed above are closely related. A mainframe operating
system often performs all these functions.
Examples of mainframe operating systems are OS/360, OS/390, z/OS.
Mainframe operating systems are gradually being replaced by UNIX variant like
such as Linux.

1.5 Batch Systems

Batch processing is nothing but executing a series of jobs on a computer


without manual intervention. The basic focus was to increase utilization of
system resources by reducing idle time caused by human intervention.

Figure 1.7: Batch Processing

Jobs are set up so that they can be run to completion without manual
intervention. All input data are preselected through scripts, or job control
language. (This is exactly opposite to "online" or interactive programs which
prompt the user for such input.) A program takes a set of data files as input,
processes the data, and produces a set of output data files.
Generally similar jobs are batched together. E.g. all the jobs which require
compiling C programs are batched together in one batch whereas all the jobs
which require compiling Java programs are batched together in another batch.

Applications
- Data processing applications like day end reporting, interest calculations,
payment processing etc.
- Efficient bulk database updates, automated transaction processing
- Various image processing operations on digital images
- Converting number of files from one format to another.

Advantages
- It can shift the time of job processing to when the computing resources are
less busy.
- It avoids idling the computing resources with minute-by-minute manual
intervention and supervision.

1-6
1.6 Multi-programmed System

When a program is run on a computer, it has some instructions which need


to be executed by CPU and some instructions which require I/O operation. This
fact is shown in figure 1.8. Whenever a program is being executed and an I/O
operation is performed, CPU becomes idle as it has to wait for completion of I/O
operation of the program. The waiting time may be very much greater than the
time CPU executes the program. So, CPU utilization is very much low. To
overcome this problem, concept of multiprogramming was introduced.

Program 1 Program 2

Idle Idle Idle Idle

Figure 1.8: Sequential Execution

Program 1

Program 2

Figure 1.9: Multi-programmed Execution

Figure 1.9 shows possibility of concurrent running of two programs


introduced in figure 1.8.
Multiprogramming system allows loading multiple programs in memory.
When one program performs some I/O operation (CPU becomes idle), CPU is
allocated to another program in the memory that is ready for execution. Even
though figure 1.9 shows only two programs running concurrently, for increasing
CPU utilization more than two programs can be loaded (so that they will compete
for processor). The number of programs those actively compete for the processor
(or any resource) of a multi-programmed system is called degree of
multiprogramming.
If enough number of jobs or programs is loaded in memory, CPU can be
kept busy for almost all time.

Advantages
- CPU is kept busy almost for 100% time (if sufficient number of jobs is
available in memory)
- Overall performance of the system gets improved as multiple programs are
executed concurrently (i.e. at the same time).

1-7
1.7 Multitasking System

It is an operating system in which multiple tasks or processes (a program


in execution is called as a process) are executed without disturbing each other.
Every task feels that it is the only task performed by the computer system and it
has exclusive access to all the resources of the computer system.
Best example of a multitasking system is shown in figure 1.10.

Figure 1.10: Example of Multitasking

1.8 Time-sharing System

Time sharing is a logical extension of multiprogramming and multitasking.


Time sharing is sharing of computer resources among multiple programs,
processes, tasks or users. Major objective of time-sharing system is to have good
response time. Each program, process, task or user feels that it has a separate
machine for itself. Time-sharing system always tries to provide equal sharing of
common resources.
For implementing time-sharing, concept of time slicing is used. In this
concept, time of a resource (e.g. a processor) is divided into equal slices normally
called as time quantum. It is the maximum time period for which the resource is
allocated to a single process/ user. Time quantum is allocated to the processes/
users one after another in Round-Robin fashion. As every process/ user is getting
the required resource for equal time period, the response time is good.

1.9 Desktop System

Yet to be written --------


1-8
1.10 Multiprocessor System

Figure 1.11: Motherboard with two processors

Multiprocessor systems have two or more processors sharing the computer


bus. Sometimes these processors also share clock, memory and peripheral
devices.
Following are the advantages of multiprocessor systems. By increasing
number of processors more work is done in less time. Also, multiprocessor
systems can cost less as compared to multiple single processor systems. If
functions are distributed properly, failure of one processor will not halt the whole
system.
Multiprocessor systems can be used in two schemes as
- Asymmetric multiprocessing
- Symmetric multiprocessing
In asymmetric multiprocessing, each processor is assigned with a specific
task. There is a master processor that controls all the other processors (called as
slave processors). This scheme defines a master-slave relationship. Master
processor controls the overall system by scheduling and assigning work to the
slave processors. Only drawback in this scheme is that if a master processor fails,
system may get halted.
In symmetric multiprocessing (SMP), all the processors perform all the
task of the operating system (i.e. all the processors are full-fledged processors).
There is no any master processor. Figure 1.12 shows a typical SMP architecture.

Processor 1 Processor 2 ….. Processor N

Memory

Figure 1.12: Symmetric multiprocessing

Major benefit of SMP scheme is that N processes can run simultaneously if


there are N processors available. As processors are separate, it may happen that
one processor is sitting idle while other is overloaded.
With multi-core chips (e.g. dual core, quad core) used nowadays, even a
desktop systems or notebooks can work as a multiprocessor system.

1-9
1.11 Distributed System

A distributed computer system is a collection of autonomous computer


systems (which may be heterogeneous systems) capable of communication and
cooperation. Actually these systems are evolved from computer networks.
A distributed operating system governs the operation of a distributed
computer system. It provides means for system-wide sharing of resources such as
computational facility, files, I/O devices.
Normally the computers in the distributed system interact with each other
to achieve common goal. A program may get divided into multiple tasks and each
such task is handled by autonomous computer

1.12 Clustered System

Clustered system is also a system with multiple processors. But it differs


from multiprocessor system. It is composed of two or more individual systems
coupled together.
As discussed above distributed system is a collection of autonomous
computer systems. But clustered system is coupling of individual systems who
normally share their storage. Clustering is usually used to provide high-
availability service. i.e. Service will continue even if one or more systems in the
cluster fail.
Some examples of clustered system are shown in figure 1.13.

Figure 1.13: Examples of Clustered System

1.13 Real Time System

Real-time operating systems are used in environments where large number


of events (mostly external to the system) are accepted and processed in a short
time or within specific deadlines. Some of the applications where such systems
are required are – industrial control, flight control, military applications,
telephone switching equipments, real-time simulations etc.

1-10
Primary objectives of real time systems are providing quick event response
time and meeting deadlines. For achieving these objectives, user convenience and
resource utilization may be sacrificed as they are of secondary concern.
Time is a key parameter in real time system. Such system may have to
process thousands of interrupts per second without missing a single event. Two
examples of real-time operating are shown in figure 1.14.

Figure 1.14: Examples of real-time system

Real time systems are categorized as


- Hard real time system
- Soft real time system
In hard real time systems, there should be absolute guarantee that certain
action will occur at a certain time. Best example is an automobile industry in
which car to be manufactured is moving on an assembly line, certain actions must
take place at certain time. If a welding robot welds too early or too late, the car
will be damaged. So actions must absolutely occur at certain time or at certain
range of time.
In soft real time systems, missing occasional deadlines (though not
desirable) is acceptable as they do not cause any permanent damage. Digital
telephone is example of this category.
Even though there are very much thin boundaries of differentiation within
real time system, embedded systems and handheld systems, major applications of
real time systems are in industries.

1.14 Embedded System

Embedded systems run on the computers those control devices which are
generally not considered as computers. Such devices do not accept user installed
software. These devices have very specific tasks.
Typical examples of embedded systems are microwave ovens, television
sets, cars, mp3 players, automatic washing machines etc. As user installed
software are not accepted, there is no need of protection. So these systems are
more simplified.

1-11
Figure 1.15: Examples of embedded system

1.15 Recent Operating Systems

Characteristics of two operating systems of Microsoft – Windows XP and


Windows 7 are discussed below.

1.15.1 Characteristics of Windows XP

- Built on the new Windows engine


- Enhanced device driver verifier
- Dramatically reduced reboot scenarios
- Windows Installer – A system service that helps users to install, configure,
track, upgrade, and remove software programs correctly.
- IP Security (IPSec) – Helps protect data transmitted across a network.
IPSec is an important part of providing security for virtual private
networks (VPNs), which allow organizations to transmit data securely over
the Internet.
- Windows Firewall – Turned on by default, the built-in Windows Firewall
helps increase computer security from startup to shutdown.
1-12
- Windows Security Center – Easily manages security resources with this
single, unified view of key settings, tools, and access to resources.
- Start Menu and Taskbar improvements
- Numerous improvements to increase the system reliability such as
improved System Restore, Automated System Recovery, Windows Error
Reporting and driver reliability.
- Remote Assistance and Remote Desktop features, which allow users to
connect to a computer running Windows XP from across a network or
the Internet and access their applications, files, printers, and devices or
request help.
- Updated accessories and games.
- Fast user switching, which allows users to save the current state and open
applications of their desktop and allows another user to log on without
losing that information

1.15.2 Characteristics of Windows 7

- Homegroup – This easy file-sharing capability is brilliant, but it only


matters if everybody on your network has Windows 7.
- Jump Lists – Right-click evolves into something even more useful, taking
you all over your PC, with history files, favorites and a lot more.
- Windows Search – Fast searching facilities and the results can be
previewed in a viewer without launching any application.
- Windows Taskbar – Aero Peek gives you a look at what's running in a
glassy, gorgeous preview. And there's a handy date at the bottom right
corner — surprisingly useful.
- The Aero Desktop is really nothing more than a collection of window and
desktop behaviors that make Windows 7 the prettiest version of the
operating system to date. Features such as Aero Snap let you quickly
organize open windows and transparency makes it easy to see what’s
underneath other windows.

1-13
- Performance has been improved.
- The Documents and Settings folder, the location for all protected personal
files and folders, has been replaced with simple Users folders.
- Although touch interfaces have been around for a better part of a decade,
touch has not yet replaced the familiar keyboard/mouse combination of
navigating personal computers. Still, Windows 7 is the first operating
system from the software giant to natively support touch as a computer
interface.
- The Start menu in Windows 7 has been completely reworked and has been
met with several criticisms. No longer does the Start menu use fly-outs and
scroll-outs to show you what shortcuts to programs and folders you have on
your computer.
- Windows 7 Libraries are nothing more than collections of files that are
similar. Similar content that is located in multiple areas of your computer
are brought together into the Library system to make finding files easier.

1-14

You might also like