Introduction to Operating Systems

Download Report

Transcript Introduction to Operating Systems

Introduction to Operating Systems
Chapter 1
CS4315
A. Berrached:CMS:UHD
1
What is an Operating System?
• A program or collection of programs that act as
intermediary between the user of a computer and
the computer hardware.
• Operating system goals:
– Make the computer convenient to use.
– Use computer resources in an efficient manner.
– Coordinate among the various users and
programs that are competing for computing
resources.
CS4315
A. Berrached:CMS:UHD
2
Computer system Components
1. Hardware – provides basic computing
resources (CPU, memory, I/O devices).
2. Operating system
3. System & 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 programs).
4. Users – people, machines, other computers,
or programs written by the end-user.
CS4315
A. Berrached:CMS:UHD
3
CS4315
A. Berrached:CMS:UHD
4
Operating System Definition
• OS provides an interface between the computer
hardware and users, applications and system
software.
• OS manages computer resources.
• OS controls and coordinates the use of the
computing resources among the various
users/programs:
– resource sharing among computer
users/programs
– protect users from each others
CS4315
A. Berrached:CMS:UHD
5
What are Computing Resources?
• A process: an executing program
• A resource: Anything that is needed for a process
to run
– Memory space
– Disk Space
– The CPU
– I/O devices
– at a more abstract level-- Data
CS4315
A. Berrached:CMS:UHD
6
Resource Sharing
• Space vs time multiplexed sharing
– space multiplexed: resource is divided into
distinct units. Units are allocated
simultaneously to different processes.
– Time multiplexed: Several processes take turn
using a resource.
• E.g. In a uniprocessor system, the processor is
switched among several processes. In each turn,
each process perform part of its computing task.
This gives the users the illusion of simultaneous
execution ==> that’s how concurrency is achieved.
CS4315
A. Berrached:CMS:UHD
7
Multiprogramming
• Technique for allowing more that one program to
run simultaneously
– Typically, a process consists of a sequence of
CPU computations and I/O operations.
– A process may be blocked waiting for I/O
operation
– While one process is blocked, another should
be able to run
– Reduced time to run all processes.
CS4315
A. Berrached:CMS:UHD
9
Types of Operating Systems
•
•
•
•
•
•
Batch processing systems
Timesharing systems
Personal computer systems
Parallel systems
Distributed systems
Process Control & Real-time systems
CS4315
A. Berrached:CMS:UHD
10
Batch processing systems
• The first multiprogramming systems of the 1960’s
• Computers did not have interactive capabilities.
• A batch job is collection of OS commands that are
executed without any interaction with the user.
• A job is prepared offline (a deck of punched cards)
• Batch of jobs given to OS at one time.
• OS optimizes resource utilization & throughput.
• This was the first step in allowing multiple users to
share a machine.
• No real-time interaction between users and
computer.
CS4315
A. Berrached:CMS:UHD
11
Timesharing systems
• Uses multiprogramming
• Supports interactive computing model: when the OS
finishes execution of one command, it seeks the next
command from the user keyboard.
• The CPU is multiplexed among several “jobs” that are
kept in memory and on disk.
• User-centered: a user may run one or more processes
==> Multitasking
• Tend to optimize response time.
• Different scheduling & memory allocation strategies
than batch. Security and protection.
CS4315
A. Berrached:CMS:UHD
12
Real-time Systems
• Often used as a control device in dedicated applications
such as controlling scientific experiments, medical
imaging systems, industrial control systems, etc.
• Computer is dedicated to a single purpose.
• Must respond to external stimuli in fixed time, by
specific deadline.
• Hard real-time systems
– No secondary storage. Data is stored in ROM
– Used in such applications as industrial control systems
• Soft real-time systems
– Use in such applications as multimedia & virtual reality.
– Area of growing interest.
CS4315
A. Berrached:CMS:UHD
13
Personal Computers
• Computer system dedicated to a single user. CPU
shared among one user’s processes
• Power of computing for personal tasks
– Graphics
– Multimedia
• Optimize user convenience and responsiveness.
• Networking also becomes important
– sharing, security & protection
• Can adopt technology developed for larger
operating systems
CS4315
A. Berrached:CMS:UHD
14
Distributed Systems
• Distribute the computation among several
physical processors.
• Multiprocessor system: Tightly coupled
systems – processors share memory and a
clock; communication usually takes place
through the shared memory.
• Loosely coupled systems – each processor
has its own local memory; processors
communicate with one another through
various communication lines
• Advantages of distributed systems:
– Resource sharing, Computation speed up
CS4315
A. Berrached:CMS:UHD
16
– Reliability, Communication