1 Chapter 1
1 Chapter 1
1 Chapter 1
Operating
Systems
1.0
INTRODUCTION TO OPERATING SYSTEM
Introduction
The chapter contents
1.1
A computer is a system composed of two major
components: hardware and software. Computer
hardware is the physical equipment. Software is the
collection of programs that allows the hardware to do its
job. Computer software is divided into two broad
categories: the operating system and application
programs (Figure 1.1). Application programs use the
computer hardware to solve users’ problems. The
operating system, on the other hand, controls the access
to hardware by users.
1.2
What is an Operating System (1)?
1.8
i
An operating system is an interface between the
hardware of a computer and the user
(programs or humans)
that facilitates the execution of other programs
and the access to hardware and software resources.
7.6
Operating system goals:
Simplify the execution of user programs and
make solving user problems easier.
Make the computer hardware to use efficiently.
Make application software portable and versatile.
Provide isolation, security and protection among
user programs.
Improve overall system reliability
error confinement, fault tolerance, reconfiguration.
OS 7
Why should 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 – vehicles, aircraft control,
multimedia services
OS 8
Computer System
Components
Hardware
Provides basic computing resources (CPU, memory, I/O devices).
Operating System
Controls and coordinates the use of hardware among application programs.
Application Programs
Solve computing problems of users (compilers, database systems, video games,
business programs such as banking software).
Users
People, machines, other computers
OS 9
What are the functions of the operating system?
Memory Management
Processor Management
Device Management
File Management
Security
Control over system performance
Job accounting
Error detecting aids
Coordination between other software and users
OS 10
EVOLUTION/history of OS
Batch systems
Batch operating systems were designed in the 1950.
At that time, computers were large machines that used
punched cards for input, line printers for output and tape
drives for secondary storage media.
Each program to be executed was called a job. A
programmer who wished to execute a job sends a request to
the operating system.
7.11
Early Systems - Bare Machine
(1950s)
Hardware – expensive ; Human – cheap
Structure
Large machines run from console
Single user system
• Programmer/User as operator
Paper tape or punched cards
Early software From John Ousterhout slides
Assemblers, compilers, linkers, loaders, device drivers, libraries of
common subroutines.
Secure execution
Inefficient use of expensive resources
Low CPU utilization, high setup time.
OS 12
Simple Batch Systems - Second Generation.
Use an operator
Add a card reader
Reduce setup time by batching similar jobs
Automatic job sequencing
Resident monitor
initial control in monitor
control transfers to job
when job completes control transfers back to monitor
OS 13
Problems:
OS 18
OS Features Needed for Multiprogramming
7.20
Personal systems Fourth Generation
Personal computers; single user
I/O devices
User convenience and responsiveness
Can adopt technology developed for larger operating
systems
Parallel systems
The need for more speed and efficiency led to the design of
parallel systems: multiple CPUs on the same machine. Each
CPU can be used to serve one program or a part of a
program, which means that many tasks can be accomplished
in parallel instead of serially. The operating systems required
for this are more complex than those that support single
CPUs.
7.21
Parallel
7.22
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.
More common in extremely large systems
7.23
Parallel Computing Systems
ILLIAC 2 (UIllinois)
Climate modeling,
earthquake
simulations, genome
analysis, protein
folding, nuclear fusion
research, ….. K-computer(Japan)
Tianhe-1(China)
Real-time systems
A real-time system is expected to do a task within a specific
time constraint. They are used with real-time applications,
which monitor, respond to or control external processes or
environments.
7.25
Distributed Systems
Hardware – very cheap ; Human – very expensive
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
PlanetLab Gnutella
Principles of Operating Systems - P2P Network
Lecture 1 27
Real-time systems
Correct system function depends on timeliness
• Well-defined fixed-time constraints.
• OS must be able to respond very quickly.
Soft real-time systems -
Less accurate if response time is too long.
Useful in applications such as multimedia, virtual reality.
Program execution
I/O operations
File System manipulation
Communication
Error Detection
Resource Allocation
Protection
OS 37
Thank you
End of chapter1
OS 38