Introduction to Operating Systems
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
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
4. Users – people, machines, other
computers, or programs written by the
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
• OS manages computer resources.
• OS controls and coordinates the use of the
computing resources among the various
– resource sharing among computer
– 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
– Memory space
– Disk Space
– The CPU
– I/O devices
– at a more abstract level-- Data
CS4315 A. Berrached:CMS:UHD 6
• 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
• Technique for allowing more that one program to
– Typically, a process consists of a sequence of
CPU computations and I/O operations.
– A process may be blocked waiting for I/O
– 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
CS4315 A. Berrached:CMS:UHD 11
• 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
• Tend to optimize response time.
• Different scheduling & memory allocation strategies
than batch. Security and protection.
CS4315 A. Berrached:CMS:UHD 12
• 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
• 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
• Computer system dedicated to a single user. CPU
shared among one user’s processes
• Power of computing for personal tasks
• Optimize user convenience and responsiveness.
• Networking also becomes important
– sharing, security & protection
• Can adopt technology developed for larger
CS4315 A. Berrached:CMS:UHD 14
• Distribute the computation among several
• 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 A. Berrached:CMS:UHD 16