2. CH1: OVERVIEW OF OPERATING SYSTEMS
What is the operating system?
Compiled by L. Mutanu
2
3. CH1: OVERVIEW OF OPERATING SYSTEMS
• An OS is a program that acts an intermediary
between the user of a computer and computer
hardware.
• Major cost of general purpose computing is
software.
▫ OS simplifies and manages the complexity of
running application programs efficiently.
Compiled by L. Mutanu
3
4. CH1: OVERVIEW OF OPERATING SYSTEMS
Introduction
• A computer system consists of
▫ hardware
▫ system programs
▫ application programs
Compiled by L. Mutanu
4
8. CH1: OVERVIEW OF OPERATING SYSTEMS
Goals of an Operating System
• Simplify the execution of user programs and
make solving user problems easier.
• Use computer hardware efficiently.
▫ Allow sharing of hardware and software resources.
• Make application software portable and
versatile.
• Provide isolation, security and protection among
user programs.
• Improve overall system reliability
error confinement, fault tolerance, reconfiguration.
Compiled by L. Mutanu
8
9. CH1: OVERVIEW OF OPERATING SYSTEMS
• Can the computer run without an
operating system?
02/06/2016By L. Mutanu
9
10. CH1: OVERVIEW OF OPERATING SYSTEMS
02/06/2016By L. Mutanu
10
Without an OS the computer functions would not
be synchronized!
14. CH1: OVERVIEW OF OPERATING SYSTEMS
Hardware & Software Complexity IncreasesCompiled by L. Mutanu
14
Moore’s Law: 2X
transistors/Chip Every 1.5 years
Moore’s Law
15. CH1: OVERVIEW OF OPERATING SYSTEMS
1985 - Windows 1.0
Compiled by L. Mutanu
15
Windows 2.0
Windows 3.0
Windows 3.1
Windows 95
Windows 98
Windows 2000
Windows ME
Windows XP
Windows 7
Windows Vista
16. CH1: OVERVIEW OF OPERATING SYSTEMS
What is your preferred operating
system?
Compiled by L. Mutanu
16
17. CH1: OVERVIEW OF OPERATING SYSTEMS
Examples of operating systems
• Open source - Based on open, published source code
▫ UNIX and Linux
• Proprietary - Closed
▫ Apple Macintosh
• Hybrid - Some elements open, some elements closed
▫ Microsoft
17
Compiled by L. Mutanu
18. CH1: OVERVIEW OF OPERATING SYSTEMS
Early Systems - Bare Machine (1950s)
• Structure
Large machines run from console
Single user system
Programmer/User as operator
Paper tape or punched cards
• Early software
Assemblers, compilers, linkers, loaders, device drivers, libraries of
common subroutines.
• Secure execution
• Inefficient use of expensive resources
Low CPU utilization, high setup time.
Compiled by L. Mutanu
18
Hardware – expensive ; Human – cheap
19. CH1: OVERVIEW OF OPERATING SYSTEMS
1. Simple Batch Systems (1960’s)
• Reduce setup time by batching jobs with similar requirements.
• Add a card reader, Hire an operator
▫ User is NOT the operator
▫ Automatic job sequencing
Forms a rudimentary OS.
▫ Resident Monitor
Holds initial control, control transfers to job and then back to monitor.
▫ Problem
Need to distinguish job from job and data from program.
Compiled by L. Mutanu
19
20. CH1: OVERVIEW OF OPERATING SYSTEMS
▫ Problem with Batch Systems
Long turnaround time - up to 2 DAYS!!!
Low CPU utilization - I/O and CPU could not overlap;
▫ Solutions to speed up I/O:
▫ Offline Processing
load jobs into memory from tapes, card reading and line printing are
done offline.
▫ Early batch system
bring cards to 1401
read cards to tape
put tape on 7094 which does computing
put tape on 1401 which prints output
Compiled by L. Mutanu
20
21. CH1: OVERVIEW OF OPERATING SYSTEMS
2. Multiprogramming
• Keep more than one running job in
memory. When one job waits for IO,
switch to a different job
• Use interrupts to run multiple
programs concurrently
When a program performs I/O, instead
of polling, execute another program till
interrupt is received.
• Time sharing was introduced. - Like
multiprogramming, but timer device
interrupts after a quantum (timeslice).
Interrupted program is returned to end
of FIFO
Next program is taken from head of
FIFO
Compiled by L. Mutanu
21
22. CH1: OVERVIEW OF OPERATING SYSTEMS
• Multiprogramming increased efficiency and time
sharing increased convenience. However with this
came along certain challenges:
▫ a single process might monopolize CPU or memory
▫ One process might overwrite another’s memory
▫ If total program memory exceeds system memory,
there is need for additional memory
▫ The System state (program counter, registers, etc)
needs to be saved and restored on every job switch
• Certain features needed to be added to the OS to
solve these challenges. Result: added complexity
Compiled by L. Mutanu
22
23. CH1: OVERVIEW OF OPERATING SYSTEMS
• Certain additional OS Features were required for
Multiprogramming
▫ I/O routine supplied by the system.
▫ Memory management – the system must allocate the
memory to several jobs. Virtual Memory - Not all of the
program’s has to be resident at once in primary memory.
Requires the use of secondary memory the translation of
memory references into real hardware addresses.
▫ CPU scheduling – the system must choose among several
jobs ready to run.
▫ Allocation of devices.
▫ Interactive Computing - On-line communication between
the user and the system is provided; when the operating
system finishes the execution of one command, it seeks the
next “control statement” from the user’s keyboard.
Compiled by L. Mutanu
23
24. CH1: OVERVIEW OF OPERATING SYSTEMS
3. Personal Computing Systems
• Single user systems, portable, GUI.
• I/O devices - keyboards, mice, display screens, small printers.
• Laptops and palmtops, Smart cards, Wireless devices.
• Single user systems may not need advanced CPU utilization or
protection features.
• Advantages:
▫ user convenience, responsiveness, ubiquitous
Compiled by L. Mutanu
24
Hardware – cheap ; Human – expensive
25. CH1: OVERVIEW OF OPERATING SYSTEMS
4. Parallel Systems
• Multiprocessor systems with more than one CPU in close
communication.
• Improved Throughput, economical, increased reliability.
• Kinds:
Symmetric and asymmetric multiprocessing
Distributed memory vs. shared memory
• Advantages of parallel system:
▫ Increased throughput
▫ Increased reliability - fail-soft systems
Compiled by L. Mutanu
25
26. CH1: OVERVIEW OF OPERATING SYSTEMS
5. Distributed Systems
• Distribute computation among many processors.
• Loosely coupled -
no shared memory, various communication lines
• client/server architectures
• Advantages:
resource sharing
computation speed-up
reliability
communication - e.g. email
• Applications - digital libraries, digital multimedia
• Two types of system architectures exist:
▫ Client-server systems place shared
resources on centralized servers
▫ Peer-to-peer systems allow ad-hoc
cooperation between individuals
Compiled by L. Mutanu
26
Hardware – very cheap ; Human – very expensive
27. CH1: OVERVIEW OF OPERATING SYSTEMS
6. Real-time systems
• Correct system function depends on timeliness
• Feedback/control loops
• Sensors and actuators
• Hard real-time systems -
Failure if response time too long.
Secondary storage is limited
• Soft real-time systems -
Less accurate if response time is too long.
Useful in applications such as multimedia, virtual reality.
Compiled by L. Mutanu
27
28. CH1: OVERVIEW OF OPERATING SYSTEMS
• Many different operating system models have
evolved over time, driven by
▫ Hardware costs
▫ Efficiency
▫ Convenience for the user
• Today we have Personal Digital Assistants (PDAs)
and Cellular telephones. Research is still in process
to develop operating systems that can curb issues
such as:
▫ Limited memory
▫ Slow processors
▫ Small display screens.
Compiled by L. Mutanu
28
33. CH1: OVERVIEW OF OPERATING SYSTEMS
Intelligent Environment
• Lights, air conditioning, TV automatically switch on and off when you enter or
leave rooms
• Sit on your favourite chair and TV switches on to the program you usually
watch at this time of the day
• Use communicator/pda for phone, remote control, keys
payments, passport, health records, authenticator.
• Route input from ‘virtual’
keyboard to nearest suitable
display.
• Automatic detection of new
items to control and physical
layout in a room or office, using
computer vision.
33
Compiled by L. Mutanu
34. CH1: OVERVIEW OF OPERATING SYSTEMS
Intelligent Environment
• Fridge and cupboards tracks consumption and reorder your
groceries
• Your car computer reminds you to pick up your order on the way
home when you are near the supermarket.
• Interesting, but can you foresee any challenges with such an
OS?
34
Compiled by L. Mutanu
36. CH1: OVERVIEW OF OPERATING SYSTEMS
Summary history of Operating Systems
• First generation 1945 - 1955
▫ Manual Operators
• Second generation 1955 - 1965
▫ OS introduced for Job Sequencing
• Third generation 1965 – 1980
▫ Multiprogramming introduced
• Fourth generation 1980 – present
▫ personal computers
▫ Multiprocessing
▫ Distributed Systems
▫ Real Time Systems
▫ Embedded operating systems
▫ Smart card operating systems
Compiled by L. Mutanu
36
37. CH1: OVERVIEW OF OPERATING SYSTEMS
People-to-Computer Ratio Over Time
37
Compiled by L. Mutanu
38. CH1: OVERVIEW OF OPERATING SYSTEMS
Why should I study Operating Systems?
▫ Need to understand interaction between the hardware
and applications
New applications, new hardware..
Inherent aspect of society today
▫ Need to understand basic principles in the design of
computer systems
efficient resource management, security, flexibility
▫ Increasing need for specialized operating systems
e.g. embedded operating systems for devices - cell
phones, sensors and controllers
real-time operating systems - aircraft control, multimedia
services
Compiled by L. Mutanu
38