You are on page 1of 19

10/11/2021

M 317:
Operating Systems
Chapter 1: Introduction

Dr. Rashad A. A. Ragb


rabelkhafaar@su.edu.sa

Chapter 1

Class outline
 Introduction, concepts, review & historical perspective
 Processes
 Synchronization

 Scheduling

 Deadlock

 Memory management
 I/O management
 File systems
 Security & protection
 Distributed systems (as time permits)

Chapter 1 2

1
10/11/2021

Contents
 Today's Topic: Introduction to Operating Systems
 We will learn
1. What is Operating System?
2. What OS does?
3. Structure of OS
4. Evolution of OS
 Batch Processing, Multiprogramming, Time
sharing systems
5. Operating System Functions Main Functions of OS
6. Types of OS
 Single User, Multi User systems
7. Operating System concepts

References

 Textbook
 W. Stallings, Operating Systems Internals and Design
Principles, 6th edition, 2009.
 Reference
 A. Silberschatz, P. B. Galvin, G. Gagne, Operating
Systems Principles, 7th edition, 2006.
 Tanenbaum, Modern Operating Systems 3 e, (c) 2008
Prentice-Hall.

2
10/11/2021

Grading (subject to adjustment)

 10% Homework and practical = 20


 10% project and attendance = 20
 10% Mid exam1 = 20
 70% Final Exam = 140

The landscape of operating


systems (as of 2014)

3
10/11/2021

The OS wars (in 2006)

Operating System
 A program that controls and supports the
usage of computer systems

Main objectives of an OS:

• Convenience
• Efficiency
• Ability to evolve

4
10/11/2021

Control
The operating system controls the usage of the
computer resources - hardware devices and
software utilities.
 Processors

 Main memory

 Secondary Memory

 Peripheral devices

 Information

Support
Services to assist the users of the computer system:
 For the programmers:

 Utilities - debuggers, editors, file management, etc.

 For the end users - interface to the application programs

 For programs - loads instructions and data into memory,


prepares I/O devises for usage, handles interrupts and
error conditions.

5
10/11/2021

What is OS?
 Operating System is a software, which makes a
computer to actually work.

 It is the software the enables all the programs we use.

 The OS organizes and controls the hardware.

 OS acts as an interface between the application


programs and the machine hardware.

 Examples: Windows, Linux, Unix and Mac OS, etc.,

What is OS?
 Resource allocator – manages and
allocates resources. (CPU time,
memory space, file-storage space, I/O
devices…)
Since there maybe many –
possibly conflicting – requests for
resources, the OS must decide which
requests are allocated resources so
that it can operate the computer
system efficiently and fairly.

12

6
10/11/2021

What is OS?
 Control program – controls the
execution of user programs to prevent
errors and improper use of the
computer.
It is especially concerned with the
operation and control of I/O devices .
 Kernel – the one program running at all
times (all else being application
programs).

13

What OS does?

An operating system performs basic tasks such as,

 controlling and allocating memory,


 prioritizing system requests,
 controlling input and output devices,
 facilitating networking and
 managing file systems.

7
10/11/2021

Structure of Operating System:


Application Programs

System Programs

Software (Operating System)

HARDWARE

(Contd…)

Structure of Operating System


(Contd…):
 The structure of OS consists of 4 layers:
1. Hardware
Hardware consists of CPU, Main memory, I/O
Devices, etc,

2. Software (Operating System)


Software includes process management
routines, memory management routines, I/O
control routines, file management routines.

(Contd…)

8
10/11/2021

Structure of Operating System


(Contd…):

3. System programs
This layer consists of compilers, Assemblers,
linker etc.

4. Application programs
This is dependent on users need. Ex. Railway
reservation system, Bank database
management etc.,

Evolution of OS:

 The evolution of operating systems went through seven


major phases.

 Six of them significantly changed the ways in which


users accessed computers through the open shop, batch
processing, multiprogramming, timesharing, personal
computing, and distributed systems.

 In the seventh phase the foundations of concurrent


programming were developed and demonstrated in
model operating systems.
(Contd…)

9
10/11/2021

Evolution of OS (contd..):
Major Technical Operating
Phases Innovations Systems
The idea of OS IBM 701 open shop
Open Shop (1954)

Tape batching, BKS system (1961)


Batch
First-in, first-out
Processing scheduling.
Processor multiplexing, Atlas supervisor
Multi- Indivisible operations, (1961),
programming Demand paging, Exec II system (1966)
Input/output spooling,
Priority scheduling,
Remote job entry
(Contd…)

Evolution of OS (contd..):
Simultaneous user Multics file system
Timesharing interaction, (1965),
On-line file systems Unix (1974)
Hierarchical systems, RC 4000 system (1969),
Concurrent Extensible kernels, 13 Venus system
Programming Parallel programming (1972),
concepts, Secure parallel 14 Boss 2 system
languages (1975).
Graphic user interfaces OS 6 (1972)
Personal
Pilot system (1980)
Computing
Remote servers WFS file server (1979)
Distributed Unix United RPC (1982)
Systems 24 Amoeba system
(1990)

10
10/11/2021

Batch Processing:
 In Batch processing same type of jobs batch (BATCH- a
set of jobs with similar needs) together and execute at a
time.
 The OS was simple, its major task was to transfer control
from one job to the next.
 The job was submitted to the computer operator in form
of punch cards. At some later time the output appeared.
 The OS was always resident in memory. (Ref. Fig. next
slide)
 Common Input devices were card readers and tape
drives.

Batch Processing (Contd…):


 Common output devices were line printers, tape drives,
and card punches.
 Users did not interact directly with the computer
systems, but he prepared a job (comprising of the
program, the data, & some control information).
OS

User
program
area

11
10/11/2021

Batch Processing (Contd…):


Spooling
 Later batch systems used disks for buffering
 Disks enabled simultaneous peripheral
operation on-line (spooling)
 Computer overlapped I/O of one job with
execution of another
 Better utilization of the expensive CPU
 Still only one job active at any given time

CS 1550, cs.pitt.edu (originaly


modified by Ethan L. Miller and
Chapter 1 23 Scott A. Brandt)

Multiprogramming:

 Multiprogramming is a technique to execute number of


programs simultaneously by a single processor.
 In Multiprogramming, number of processes reside in
main memory at a time.
 The OS picks and begins to executes one of the jobs in
the main memory.
 If any I/O wait happened in a process, then CPU
switches from that job to another job.
 Hence CPU in not idle at any time.

12
10/11/2021

Multiprogramming (Contd…):
OS • Figuredipicts the layout of
multiprogramming system.
Job 1
• The main memory consists of 5
Job 2 jobs at a time, the CPU executes
one by one.
Job 3
Advantages:
Job 4 •Efficient memory utilization

Job 5 •Throughput increases


•CPU is never idle, so
performance increases.

Time Sharing Systems:

 Time sharing, or multitasking, is a logical extension of


multiprogramming.
 Multiple jobs are executed by switching the CPU
between them.
 In this, the CPU time is shared by different processes, so
it is called as “Time sharing Systems”.
 Time slice is defined by the OS, for sharing CPU time
between processes.
 Examples: Multics, Unix, etc.,

13
10/11/2021

Operating Systems functions:

 The main functions of operating systems are:

1. Program creation
2. Program execution
3. Input/Output operations
4. Error detection
5. Resource allocation
6. Accounting
7. protection

Types of OS:

Operating System can also be classified as,-

 Single User Systems

 Multi User Systems

14
10/11/2021

Single User Systems:

 Provides a platform for only one user at a


time.

 They are popularly associated with Desk Top


operating system which run on standalone
systems where no user accounts are
required.
 Example: DOS

Multi-User Systems:

 Provides regulated access for a number of users by


maintaining a database of known users.

 Refers to computer systems that support two or more


simultaneous users.

 Another term for multi-user is time sharing.

 Ex: All mainframes and are multi-user systems.


 Example: Unix

15
10/11/2021

Types of modern operating systems


 Mainframe operating systems: MVS
 Server operating systems: FreeBSD, Solaris

 Multiprocessor operating systems: Cellular


IRIX
 Personal computer operating systems:
Windows, Unix
 Real-time operating systems: VxWorks

 Embedded operating systems

 Smart card operating systems

⇒Some operating systems can fit into more CS 1550, cs.pitt.edu (originaly
modified by Ethan L. Miller and
than one category
Chapter 1 31 Scott A. Brandt)

Operating Systems concepts


Components of a simple PC
Outside
world

Video Hard drive USB Network


controller controller controller controller

CPU Computer internals


(inside the “box”)
Memory
CS 1550, cs.pitt.edu (originaly
modified by Ethan L. Miller and
Chapter 1 32 Scott A. Brandt)

16
10/11/2021

CPU internals

Execute
Fetch Decode unit
unit unit

Fetch Decode Execute Execute


Buffer unit
unit unit unit

Fetch Decode
unit unit Execute
unit

Pipelined CPU Superscalar CPU

CS 1550, cs.pitt.edu (originaly


modified by Ethan L. Miller and
Chapter 1 33 Scott A. Brandt)

Storage pyramid
Capacity Access latency
< 1 KB Registers 1 ns Better

1 MB Cache (SRAM) 2–5 ns


256 MB Main memory (DRAM) 50 ns
40 GB Magnetic disk 5 ms
Better > 1 TB Magnetic tape 50 sec

 Goal: really large memory with very low latency


 Latencies are smaller at the top of the hierarchy
 Capacities are larger at the bottom of the hierarchy
 Solution: move data between levels to create illusion of
large memory with low latency
CS 1550, cs.pitt.edu (originaly
modified by Ethan L. Miller and
Scott A. Brandt) Chapter 1 34

17
10/11/2021

Disk drive structure


head
 Data stored on surfaces
sector
 Up to two surfaces per
platter
 One or more platters per
disk platter

 Data in concentric tracks track


 Tracks broken into sectors cylinder
 256B-1KB per sector
 Cylinder: corresponding
tracks on all surfaces surfaces
 Data read and written by
heads
spindle actuato
 Actuator moves heads
CS 1550, cs.pitt.edu (originaly r
modified by  Heads move in unison
Ethan L. Miller and
Scott A. Brandt) Chapter 1 35

Memory
Address Address
0x2ffff 0x2ffff
User program User data
0x2d000
and data
0x2b000 0x2bfff Limit2
User data
0x27fff Limit 0x29000 Base2
User program
0x24fff Limit1
and data User program
0x23000 Base 0x23000 Base1
0x1dfff 0x1dfff
Operating Operating
system system
0 0

 Single base/limit pair: set for each process


 Two base/limit registers: one for program, one for data
CS 1550, cs.pitt.edu (originaly
modified by Ethan L. Miller and
Scott A. Brandt) Chapter 1 36

18
10/11/2021

Anatomy of a device request


Instructionn
3 2 Instructionn+1
1: Interrupt
5 Interrupt Disk
CPU
controller controller
1 6 4
Operating
system 3: Return
Interrupt handler
 Left: sequence as seen by hardware2: Process interrupt
 Request sent to controller, then to disk
 Disk responds, signals disk controller which tells interrupt
controller
 Interrupt controller notifies CPU
Right: interrupt handling (software point of view)
 cs.pitt.edu (originaly
CS 1550,
modified by Ethan L. Miller and
Scott A. Brandt) Chapter 1 37

19

You might also like