Lecture 1: Overview - City University of New York
Download
Report
Transcript Lecture 1: Overview - City University of New York
Lecture 1: History of
Operating System
Operating System
Spring 2007
Chapter 1 of textbook
1
Outline
What is Operating System
OS as User/Computer Interface
Services provided by OS
OS as Resource Manager
Evolution of OS
2
What is Operating System?
An operating system is a program that controls the
execution of application programs and acts as an
interface between applications and the computer
hardware.
Three objectives of operating systems:
Convenience
Efficiency
Makes a computer more convenient to use
Allows the computer system resources to be used in an
efficient manner
Ability to evolve
Permit the effective development, testing, and introduction of
new system functions without interfering with service
3
OS as User/Computer Interface
End
User
Programmer
Application
Programs
Utilities
OperatingSystem
Designer
Operating-System
Computer Hardware
4
Services provided by the
operating systems
Program Development
OS provides a variety of facilities and services, such as
editors and debuggers, to assist the programmer in creating
programs. Typically, these services are in the form of utility
programs that, while not strictly part of the core of the OS,
are supplied with the OS and are referred to as application
program development tools.
Program Execution
A number of tasks need to be performed before we can
execute a program. Instructions and data must be loaded
into main memory. I/O devices and files must be initialized,
and other resources must be prepared. The OS handles
these duties for the user.
5
Services provided by the
operating systems (cont.)
Access to I/O Devices
Controlled Access to File
Each I/O devices requires its own peculiar set of instructions
or control signals for operating. The OS provides a uniform
interface that hides these details so that the programmer
can access such devices using simple reads and writes.
The OS must provide protection mechanisms to control
access to the files for different users. Certain files can read
only, or write only, or execute only. The OS must enforce the
access mechanism.
System Access
In the case of a shared or public system, the OS control
access to the system as a whole and to specific system
resources.
6
Services provided by the
operating systems (cont.)
Error Detection and Response
A variety of errors can occur while a computer
system is running
Internal and External hardware errors such as memory
error, device failure, or malfunctions.
Software error such as arithmetic overflow or underflow,
attempt to access forbidden memory locations
Operating system cannot grant request of application
Accounting
Collect usage statistic
Monitor performance
Used to anticipate future enhancement
prepare billing information
7
OS as Resource Manager
Computer System
I/O devices
Memory
OS
Software
Programs
and
data
I/O controller
printers
I/O controller
Keyboards
etc.
.
.
.
I/O controller
processor
…
processor
Auxiliary
storage
devices,
disks, tapes
8
OS as Resource Manager (cont.)
The OS is responsible for controlling and
managing the various resources of a
computer system.
The OS functions in the same way as an ordinary
computer software, i.e., it is a program or suite of
programs executed by the processor
The OS frequently relinquishes control of the
processor and must depend on the processor to
allow it to regain control
The OS itself doesn’t do any “useful” work.
9
Ease of Evolution of an OS
A major OS will evolve over time for a
number of reasons:
Hardware upgrades plus new types of
hardware
New services demanded by users
Fixer – fix holes in OS
10
Evolution of OS (1)
1940-1950
No operating system
Run as an open shop
User signs up for certain time to use it
11
Evolution of OS (2)
- Simple Batch Systems
Interrupt Processing
Monitor
Device Drivers
Job Sequencing
mid 1950s - mid 1960s
Control Language Interpreter
User
Program
Area
User no longer has direct
access to the machine
Submit the job to an
operator who batches the
jobs together sequentially
and places the entire batch
on the input device
Often jobs of a similar
nature can be bundled
together to further increase
economy
12
Evolution of OS (2)
- Simple Batch Systems (cont.)
Job Control Language (JCL)
Special type of programming language
Provide instruction to the monitor
$JOB user_spec
; identify the user for accounting purposes
$FORTRAN
; load the FORTRAN compiler
source program cards
$LOAD
; load the compiled program
$RUN
; run the program
data cards
$EOJ
; end of job
$JOB user_spec
$LOAD application
$RUN data
$EOJ
; identify a new user
13
Evolution of OS (2)
- Simple Batch Systems (cont.)
Need additional hardware features to support the
batch OS:
Memory Protection – protect the OS from being wiped out
Timer – prevent the job run infinitely
Privileged Instruction
certain instruction can only be executed by OS, and not by user.
I/O could only be performed in monitor (supervisor) mode,
CPU runs in supervisor mode or user mode
Interrupts
early models did not have this capability.
Later models have.
Make more efficient use of resources
Note: Some memory is given to OS and some processor time is given to OS. But
we are still better off because machine is a lot faster than human operation.
14
Evolution of OS (3)
- Multiprogrammed Batch Systems
Monitor
1960s - present
(more like a operating system)
User program 1
User program 2
User program 3
User program 4
Several users are in
memory at the same
time
Match I/O intensive job
with CPU intensive job
Important to have
Interrupt-Driven I/O or
DMA to support
multiprogrammed batch
system.
15
Uniprogramming
Processor must wait for I/O instruction
to complete before preceding
16
Multiprogramming
When one job needs to wait for I/O, the
processor can switch to the other job
17
Multiprogramming
18
Evolution of OS (4)
- Time-Sharing Systems
1970s - present
To support interactive computing
In a time-sharing system, multiple users simultaneously
access the system through terminals, with the OS
interleaving the execution of each user program in a short
burst or quantum of computation.
Context Switching
A job (now often called process) can get “switched in” or
“switched out”.
OS should give the illusion for the process as if it exists in the
CPU continuously
19
Batch Multiprogramming
versus Time Sharing
Batch Multiprogramming
Principal objective
Maximize processor use
Job control language
Source of directives
commands provided with
to operating system
the job
Time Sharing
Minimize response
time
Commands entered at
the terminal
20
Evolution of OS (5)
Real-time computer
Execute programs that are guaranteed to have an upper bound on
tasks that they carry out.
e.g. guided missile systems, medical monitoring equipment
Multiprocessor – have more than one CPU
Shared memory multiprocessors
Distributed memory multiprocessors
Access the same memory - memory access must be synchronized
Each CPU has its own associated memory – communication between
processors is often slow and complicated
Networked/Distributed Systems – consist of multiple computers
Networked systems: users are aware of the different computers
that make up the system
Distributed systems: multiple computers are transparent to the user.
21
End of Lecture 1
Thank you!
22