02-Brief History of OS
02-Brief History of OS
CPSC 457
Introduction, History, Basic concepts
Fall 2017
1
CPSC 457
Outline
● attempt to define OS
● brief history of OSes
● Chapter 1 of the book
2
CPSC 457
Defining an OS
● no 'precise' definition
● it is a layer of software that provides application programs with a better, simpler, cleaner, model
of the computer (hardware)
● it manages all resources
● it is the software that runs all the time (in kernel mode)
● all other applications need it in order to run
● we will look at an OS from two different perspectives:
○ as an extended machine
○ as a resource manager
3
CPSC 457
OS - an extended machine
4
CPSC 457
OS - a resource manager
● resource allocator
○ multiplex resources
■ multiplex in time
● eg. 3 programs trying to print to the same printer (spooling)
● eg. 2 programs trying to run at the same time (scheduling)
■ multiplex in space
● eg. 2 programs allocating memory
○ manage conflicts among multiple programs or users
● control program
○ controls execution of programs (eg. interrupts)
○ prevent errors and improper use (eg. traps)
5
CPSC 457
History of OSes
6
CPSC 457
History of operating systems
7
CPSC 457
History of operating systems
8
CPSC 457
History of operating systems
9
CPSC 457
Batch systems
10
CPSC 457
Batch systems
12
CPSC 457
Multiprogramming
OS OS
A A B
C D
13
CPSC 457
Running single program at a time
14
CPSC 457
Multiprogramming
CPU: p1 p2 p3 p1 p3 p2 p3 p1 p1
15
CPSC 457
Spooling
● a way of dealing with slow devices / peripherals
● eg. printing:
fast
slow
spooler
fast
16
CPSC 457
History of operating systems
17
CPSC 457
History of operating systems
18
CPSC 457
Online resources
19
CPSC 457
Summary
● Define OS
○ An extended machine
○ A resource manager
● OS history
○ Batch systems
○ Multiprogramming
○ Spooling
○ Time sharing
● References:
○ 1.1 - 1.2, 1.4 (Modern Operating Systems)
○ 1.1 (Operating System Concepts)
20
CPSC 457
Example question
● Which one of the following concepts introduced the interactive service for multiple users?
○ Batch system
○ Multiprogramming
○ Spooling
○ Timesharing
21
CPSC 457
System calls
22
CPSC 457
Operating system
23
CPSC 457
Kernel vs. user mode
User 1 User 2 User 3
(Human) (Computer) (Device) ... User n
26
CPSC 457
Questions?
27