Operating Systems
BITS Pilani Dr. Lucy J. Gudino
K K Birla Goa Campus
Dept. of CS and IS
Text Book
Operating System
Concepts
By
ABRAHAM SILBERSCHATZ
PETER BAER GALVIN
GREG GAGNE
Eighth Edition
(WILEY STUDENT EDITION)
BITS Pilani, K K Birla Goa Campus
Reference Books
OPERATING SYSTEMS, Internals and Design
Principles, Fifth Edition by William Stallings
Modern Operating Systems by Andrew
Tanenbaum
Unix Shell Programming by Yeshwant
Kanetkar
Internet
BITS Pilani, K K Birla Goa Campus
Evaluation
Evaluation Date
Component Mode Duration Weightage and Time
Closed 13.09.14
Test I Book 1 hour 20% (8.30 to 9.30)
Closed 18.10.14
Test II book 1 hour 20% (8.30 to 9.30)
Closed 3/12/2014
Comprehensive Book 3 hours 35% (FN)
Tutorial - - 25% -
BITS Pilani, K K Birla Goa Campus
Objectives and scope of this
course
To provide understanding of the functions of
operating systems
To provide insight into functional modules of
operating systems
To study the concepts underlying the design
and implementation of operating systems
To study the basics of Linux O.S.
BITS Pilani, K K Birla Goa Campus
BITS Pilani
K K Birla Goa Campus
Lecture 1:
Introduction to Operating System
Source: Most of the Slides are based on original slides of Operating Systems Concepts by A. Silberschatz, Abraham
and others, Operating Systems Internals and Design Principles by William Stallings
Todays class
CS C372
Introduction to OS IS C362
IS F372
CS F372
To provide coverage of basic computer
system organization
Reference: Chapter 1 of text book and
reference book 1
BITS Pilani, K K Birla Goa Campus
What is an operating system?
BITS Pilani, K K Birla Goa Campus
What is an Operating System?
A program that acts as an intermediary between a
user of a computer and the computer hardware.
is a program that helps to run all the other programs
collection of software that manages computer
hardware resources and provides common services
for computer programs
Operating system goals
Execute user programs and make solving user
problems easier.
Make the computer system convenient to use.
BITS Pilani, K K Birla Goa Campus
Contd
Operating system perform basic tasks
Recognizing input from the keyboard
Sending output to the display screen
keeping track of files and directories on the disk
controlling peripheral devices such as disk drives and
printers
etc.
BITS Pilani, K K Birla Goa Campus
Computer System Structure
Computer system can be divided into 3 components
Computer Hardware
provides basic computing resources: CPU, memory, I/O
devices
Computer Software
Operating system
Controls and coordinates use of hardware among various
applications and users
Application programs
define the ways in which the system resources are used to solve
the computing problems of the users
Word processors, compilers, web browsers, database systems,
video games
Users
BITS Pilani, K K Birla Goa Campus
Parts of a Computer System
BITS Pilani, K K Birla Goa Campus
Five components in every computer
Input unit
Obtains information from input devices (keyboard, mouse)
Output unit
Outputs information (to screen, to printer, to control other devices)
Memory unit
Rapid access, low capacity, stores input information
Central processing unit (CPU) ALU+ CU
Performs arithmetic calculations and logic decisions
Supervises and coordinates the various components of the computer
Secondary storage unit
Cheap, long-term, high-capacity storage
Stores inactive programs
BITS Pilani, K K Birla Goa Campus
Contd
CPU
Input ALU Output
CU
Memory
BITS Pilani, K K Birla Goa Campus
Contd
OS is a resource allocator
Manages all resources in an efficient manner
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
Execute user programs and make solving user problems
easier.
BITS Pilani, K K Birla Goa Campus
3 main objectives
Convenience
An OS makes a computer more convenient to use.
Efficiency
An OS allows the computer system resources to be used
in an efficient manner.
Ability to evolve
An OS should be constructed in such a way as to permit
the effective development, testing, and introduction of new
system functions without interfering with service.
BITS Pilani, K K Birla Goa Campus
Contd
Computer System operation
One or more CPUs, device controllers connect through common bus
providing access to shared memory
Concurrent execution of CPUs and devices competing for memory
cycles
BITS Pilani, K K Birla Goa Campus
Functions of computer
Data processing
Data storage
Data movement
Control
BITS Pilani, K K Birla Goa Campus
Functional View
BITS Pilani, K K Birla Goa Campus
Instruction Cycle
Two steps:
Fetch
Execute
20
BITS Pilani, K K Birla Goa Campus
Fetch Cycle
Program Counter (PC) holds address of next
instruction to fetch
Processor fetches instruction from memory
location pointed to by PC
Increment PC
Unless told otherwise
Instruction loaded into Instruction Register (IR)
Processor interprets instruction and performs
required actions
21
BITS Pilani, K K Birla Goa Campus
Execute Cycle
Processor-memory
data transfer between CPU and main memory
Processor-I/O
Data transfer between CPU and I/O module
Data processing
Some arithmetic or logical operation on data
Control
Alteration of sequence of operations
e.g. jump
Combination of above
22
BITS Pilani, K K Birla Goa Campus
Contd
I/O devices and the CPU can execute concurrently
Each device controller is in charge of a particular
device type
Each device controller has a local buffer
CPU moves data from/to main memory to/from local
buffers
I/O is from the device to local buffer of controller
Device controller informs CPU that it has finished its
operation by causing an interrupt
BITS Pilani, K K Birla Goa Campus
Interrupts
Mechanism by which other modules (e.g. I/O)
may interrupt normal sequence of processing
Interrupt transfers control to the interrupt
service routine generally, through the interrupt
vector, which contains the addresses of all the
service routines
Interrupt architecture must save the address of
the interrupted instruction
24
BITS Pilani, K K Birla Goa Campus
Interrupts...
Program
e.g. overflow, division by zero
Timer
Generated by internal processor timer
Used in pre-emptive multi-tasking
I/O
from I/O controller
Hardware failure
e.g. memory parity error
BITS Pilani, K K Birla Goa Campus
Interrupt Cycle
Added to instruction cycle
26
BITS Pilani, K K Birla Goa Campus
Contd
Processor checks for interrupt
Indicated by an interrupt signal
If no interrupt, fetch next instruction
If interrupt pending:
Suspend execution of current program
Save context
Set PC to starting address of interrupt handler routine
Process interrupt
Restore context and continue interrupted program
BITS Pilani, K K Birla Goa Campus
Transfer of Control via Interrupts
28
BITS Pilani, K K Birla Goa Campus