Professional Documents
Culture Documents
Operating System: B.Tech. (IT), V Semester Dept. of Information Technology, SMIT
Operating System: B.Tech. (IT), V Semester Dept. of Information Technology, SMIT
Chapter-1 3
Chapter1: Introduction
What is an Operating System?
• It is a program that acts as an intermediary between a user of a
computer and the computer hardware.
Goals:
• An operating system executes user programs and makes easier
solving the user problems.
• It makes the computer system convenient to use.
• Uses the computer hardware in an efficient manner.
Chapter-1 4
Structure of a Computer System
A Computer system can be divided into four components:
Chapter-1 6
User View:
• Normally, for PC, users want convenience, ease of use and good
performance. But does not bother about resource utilization.
• But shared computer such as mainframe or minicomputer must keep
all users happy by giving access to all. The operating system is
designed to maximize resource utilization.
• Users of dedicate systems such as workstations have dedicated
resources but frequently use shared resources from servers.
• Handheld computers are resource poor, optimized for usability and
battery life.
• Some computers have little or no user interface, such as embedded
computers in devices and automobiles.
Chapter-1 7
System View:
OS is a resource allocator
-Manages all resources.
-Decides between conflicting requests for efficient and fair resource use.
OS is a control program
-Controls execution of programs to prevent errors and improper use of
the computer.
Chapter-1 8
No universally accepted definition about what is part of an operating
system.
A more common definition is that Operating system is the one
program running at all times on the computer usually called the
kernel.
Everything else is either a system program (ships with the operating
system) , or an application program.
Operating system= kernel +System program+ Application program
Chapter-1 9
How a computer starts?
Bootstrap program is loaded at power-up or reboot
-Typically stored in ROM or EPROM, generally known as firmware
-Initializes all aspects of system
-Loads operating system kernel and starts execution
Chapter-1 10
Types of Computer Systems
Mainframe systems
-Batch Systems
-Time Sharing Systems
Desktop Systems
Multiprocessor Systems or Parallel Systems
Distributed Systems
Real Time Systems
Chapter-1 11
Mainframe Systems
• Mainframe Computer systems were the first computers used to tackle many commercial and scientific
applications.
• A mainframe is simply a very large computer. The term Mainframe comes from the way the machine is
build up: all units (processing, communication etc.) are placed into a frame. Thus the main computer is
build into a frame, therefore: Mainframe
• Because of the sheer development costs, mainframes are typically manufactured by large companies such
as IBM, Amdahl, Hitachi.
Fig:1.2 ENIAC[2]
Chapter-1 12
Mainframe Systems contd..
Chapter-1 15
Simple Batch System contd..
Solutions to speed up I/O:
Offline Processing
Load jobs into memory from tapes, card reading and line printing are done offline.
Chapter-1 16
Multiprogrammed Batched Systems
• Multiprogramming increases CPU utilization by organizing jobs such that the
CPU always has one to execute.
• The operating system keeps several jobs in memory at a time as shown in Fig-1.4.
The operating system picks and begins to execute one of the jobs in the memory.
• When the job may have to wait for some tasks, such as a tape to be mounted, or
an I/O operation to complete, the operating system simply switches to and
executes another job.
• When that job needs to wait, the CPU is switched to another job, and so on.
Eventually, the first job finishes waiting and gets the CPU back. As long as there
is always some job to execute, the CPU will never be idle.
Chapter-1 17
Multiprogrammed Batched Systems
• Multiprogrammed operating systems are fairly
sophisticated. All the jobs that enter the system are
kept in the job pool. This pool consists of all
processes residing on mass storage awaiting
allocation of main memory.
• If several jobs are ready to be brought into memory,
and there is not enough room for all of them, then the
system must choose among them. Making this
decision is called job scheduling.
• Requires memory management, CPU scheduling.
Fig-1.4: Memory layout for a
multiprogramming system.
Chapter-1 18
Issues with the batched systems??
Chapter-1 19
Time-Sharing Systems
• The idea of time sharing was demonstrated as early as 1960, but since time-shared
systems are difficult and expensive to build, they did not become common until the early
1970s.
• Time sharing, or multitasking, is a logical extension of multiprogramming. Multiple jobs
are executed by the CPU switching between them, but the switches occur so frequently.
• Users may interact with each program while it is running.
• Jobs queued for execution in FIFO order.
• Each job runs for a time quantum. A timer device interrupts after a quantum (time slice).
• Interrupted job is returned to end of FIFO and Next job is taken from head of FIFO
• Control card interpreter replaced by command language interpreter
Chapter-1 20
Time-Sharing Systems
• An interactive computer system provides on-line communication between the
user and the system. The user gives instructions to the operating system or to a
program directly, and receives an immediate response.
• Usually, a keyboard is used to provide input, and a display screen (such as a
cathode-ray tube (CRT), or monitor) is used to provide output. When the operating
system finishes the execution of one command, it seeks the next "control
statement" not from a card reader, but rather from the user's keyboard.
• Time-sharing systems were developed to provide interactive use of a
computer system at a reasonable cost. A time-shared operating system uses
CPU scheduling and multiprogramming to provide each user with a small
portion of a time-shared computer.
Chapter-1 21
Time-Sharing Systems
• A time-shared operating system allows the many users to share the computer
simultaneously. Since each action or command in a time-shared system tends to be
short, only a little CPU time is needed for each user. As the system switches
rapidly from one user to the next, each user is given the impression that
she/he has own computer, whereas actually one computer is being shared
among many users.
• Many computer systems that were designed as primarily batch systems have been
modified to create a time-sharing subsystem. For example, IBM's OS/360, a batch
system, was modified to support the Time-Sharing Option (TSO).
• Design of a Time-sharing operating systems are even more complex than are
multi-programmed operating systems.
• Time Sharing OS need to deal with virtual memory, file systems, disk
management, concurrent execution, job synchronization and communication.
Chapter-1 22
Reference
1. A. Silberschatz, P.B.Galvin & G.Gagne, Operating System
Concepts, 2001,Addison Wesley
2. https://www.thocp.net/hardware/mainframe.htm
Chapter-1 23