Operating Systems
Cosc 2042
Chapter one
Introduction
1 operating system concepts 05/23/2024
Outline
What is an operating system?
Operating System Functions
Operating System Goals
Computer System Components
History of Operating System
Types of Operating System
2 operating system concepts 05/23/2024
What is an Operating system?
A program that acts as an intermediary
between a user of a computer and the computer
hardware.
A systems program which controls and manages
all the computer's resources and provides a base
upon which application programs can be written.
Improve overall system reliability
error confinement, fault tolerance, reconfiguration.
3 operating system concepts 05/23/2024
Operating System functions
Extending the machine: hiding the internal
complication of the hardware and presenting
simple view that is simpler and easier to use.
E.g. files instead of physical disk addresses
Managing resources : provides an orderly and
controlled allocation of resources ( processers,
memories, printers ,etc) among various
programs competing for them.
E.g. printing service, space and time multiplexing
4 operating system concepts 05/23/2024
Operating system goals
Execute user programs and make
solving user problems easier.
Make the computer system
convenient to use.
Use the computer hardware in an
efficient manner.
5 operating system concepts 05/23/2024
Computer System Components
Hardware - provides basic computing resources
(CPU, memory, I/O devices).
Operating system - controls and coordinates the
use of the hardware among the various application
programs for the various users.
Applications programs - define the ways in which
the system resources are used to solve the
computing problems of the users (compilers,
database systems, video games, business pro
grams).
Users (people, machines, other computers).
6 operating system concepts 05/23/2024
Computer System
7 operating system concepts 05/23/2024
Cont’d
Early Software
Assemblers
Loaders
Linkers
Libraries of common subroutines
Compilers
Device drivers
8 operating system concepts 05/23/2024
Operating System
Resource allocator - manages and allocates
resources.
Control program - controls the execution of user
programs and operation of I/O devices.
Kernel - the one program running at all times
(all else being application programs).
9 operating system concepts 05/23/2024
Early Systems - bare machine (early
1950s) - First Generation
Structure
Large machines run from console
Single user system
Programmer/User as operator
Paper tape or punched cards
Secure
Inefficient use of expensive resources
Low CPU utilization
Significant amount of setup time
10 operating system concepts 05/23/2024
Simple Batch Systems - Second
Generation
Use an operator (somebody to work the machine)
Add a card reader (a device to read programs
written on punched cards)
Reduce setup time by batching similar jobs
Automatic job sequencing - automatically transfers
control from one job to another. First rudimentary
operating system
Resident monitor
initial control in monitor
control transfers to job
when job completes control transfers back to monitor
11 operating system concepts 05/23/2024
Problems
How does the monitor know about the nature of
the job (e.g., Fortran versus Assembly) or which
program to execute?
How does the monitor distinguish
job from job?
data from program?
Solution: introduce control cards
Special cards that tell the resident monitor which
programs to run
12 operating system concepts 05/23/2024
Control Cards
13 operating system concepts 05/23/2024
Cont’d
Parts of resident monitor
Control card interpreter - responsible for reading and
carrying out instructions on the cards.
Loader - loads systems programs and applications
programs into memory.
Device drivers - know special characteristics and
properties for each of the system's I/O devices.
Problem: Slow Performance - since I/O and CPU
could not overlap, and card reader very slow.
Solution: Off-line operation - speed up computation
by loading jobs into memory from tapes and card
reading and line printing done off-line using smaller
machines.
14 operating system concepts 05/23/2024
Cont’d
15 operating system concepts 05/23/2024
Cont’d
Advantage of off-line operation - main computer not
constrained by the speed of the card readers and line
printers, but only by the speed of faster magnetic tape
units.
No changes need to be made to the application programs
to change from direct to off-line I/O operation.
Real gain - possibility of using multiple reader to-tape
and tape-to-printer systems for one CPU.
Spooling - overlap the I/O of one job with the
computation of another job
16 operating system concepts 05/23/2024
Cont’d
17 operating system concepts 05/23/2024
Cont’d
(Simultaneous Peripheral Operation On Line)
Simple Multiprogramming.
While executing one job, the operating system
reads the next job from the card reader into a
storage area on the disk (job queue).
outputs the printout of previous job from disk to
the line printer.
Job pool - data structure that allows the operating
system to select which job to run next, in order to
increase CPU utilization.
18 operating system concepts 05/23/2024
Multiprogramming and Time Sharing-
Third Generation
Multiprogramming
Several jobs are kept in main memory at the
same time, and the CPU is shared between
them.
Each job is called a process.
19 operating system concepts 05/23/2024
OS Features Needed for
Multiprogramming
I/O routine supplied by the system.
Memory management - the system must allocate
the memory to several jobs.
CPU scheduling - the system must choose among
several jobs ready to run.
Allocation of devices.
Time sharing (or multitasking) is a logical extension
of multiprogramming.
20 operating system concepts 05/23/2024
Time-Sharing Systems- Interactive
Computing
Most efficient for many users to share a
large computer.
The CPU is shared between several
processes.
Each process belongs to a user and I/O is
to/from a separate terminal for each user.
On-line file system must be available for
users to access data and code.
Time sharing (or multitasking) is a logical
extension of multiprogramming.
21 operating system concepts 05/23/2024
Personal-Computer Systems - Fourth
Generation
Personal computers - computer system
dedicated to a single user.
I/O devices - keyboards, mice, display screens,
small printers.
User convenience and responsiveness.
Can adopt technology developed for larger
operating systems; often individuals have sole
use of computer and do not need advanced CPU
utilization or protection features.
22 operating system concepts 05/23/2024
Parallel Systems – multi-processor
(systems with more than one CPU)
Tightly coupled system - processors share memory and a
clock; communication usually takes place through the shared
memory.
Advantages of parallel systems:
Increased throughput
Economical
Increased reliability
Symmetric multiprocessing
Each processor runs an identical copy of the operating system.
Many processes can run at once without performance
deterioration.
Asymmetric multiprocessing
Each processor is assigned a specific task; master processor
schedules and allocates work to slave processors.
23 operating system concepts
More common in extremely large systems 05/23/2024
Types of Operating system
Mainframe Operating system: operating systems
heavily oriented towards processing many jobs at
once most of which need intensive input output.
Typically they offer three kinds of jobs
Batch: routine jobs without interactive user present
Transaction processing: large number of small jobs
Time sharing: multiple remote users run jobs at once
Server Operating system: run on servers that serve
multiple users over a network and allow users to
share hardware and software resources.
Can provide print service, file service or web service
24 operating system concepts 05/23/2024
Cont’d
Multi Processor Operating system: multiple CPU in one
system, a variation on server OS with some special
features for communication and connectivity
Personal Computer Operating system: provide a good
interface for a single user
Real Time Operating system: Often used as a control
device in a dedicated application such as controlling,
scientific experiments, medical imaging systems,
industrial control systems, and some display systems
25 operating system concepts 05/23/2024
Cont’d
Embedded Operating System: run on the computers
that control devices that are not generally thought of as
computers such as Tv, microwave ovens and DVD
Smart Card Operating System: handle only a single
function such as electronic payments
26 operating system concepts 05/23/2024