2. 2
Outlin
e
• What is an Operating
System?
• Operating System Functions
• Operating System features
• Operating System variants
3. 3
Operating
System
• A modern computer system consists of:
– one or more processors,
– main memory, disks, printers,
– a keyboard, a display,
– network interfaces, and
– other input output devices,
– All in all, a complex system.
• In order to:
– Manage all these devices for granting proper function
and interaction with each other,
– To create user friendly environment, and
– User programs with a simpler interface to the
hardware,
• there is a program known as Operating
system.
4. 4
What is an Operating
System?
• A program that acts as an intermediary
between a user of a computer and the
computer hardware.
• Operating system goals:
– Manage computer system resources.
– Make the computer system convenient to use.
• Use the computer hardware in an efficient
manner.
• To manage and share/multiplex resources in
time and space (resource manager).
– Time multiplexing – E.g. sharing CPU, printer...
– Resource multiplexing – E.g. sharing main
memory
5. 5
What is an Operating
System?...
An operating system is:
A collection of software components that
• Provides useful abstractions and
• Manages resources to
• Support application programs, and
• Provide an interface for users and programs
Resource allocator – manages and allocates
resources. Control program – controls the
execution of user programs and operations of I/O
devices.
6. What does Operating System
do?
• Manages all the resources in
a computer (including
processor, memory, i/o
devices)
• Provides an interface
between the hardware and
application software.
• Three layers:
• Inner layer, computer
hardware
• Middle layer, operating
system
• Outer layer, different
software
6
7. 7
Operating System
Functions
• An operating system’s main functions
are:
– Multiprogramming, multiprocessor
– Computer resource management
– Provides a user interface
– Runs software utilities and programs
– Schedule jobs
– Provide tools to configure the operating
system and hardware
– Administers user actions and accounts
– Enforce security measures
8. 8
Operating System
Functions…
An operating system’s main functions are:
…
• Schedule processes & multiplex CPU
• Provide mechanisms for IPC and
synchronization
• Manage main memory
• Manage other resources (E.g, Input/Output)
• Provide convenient persistent storage (files)
• Maintain system integrity, handle failures
• Enforce security policies (e.g., access control)
• Give users and processes an interface
10. Operating System
features
• Authentication of users
– password, passphrase comparison,
biometrics, digital authentication (SSL, CA, PKI,
Kerberos, DS)
• Mandatory (enforce multilevel security by classifying
the data and users into various security classes) and
• Discretionary Access Control (grant privileges to
users)
• Protection of memory
– user space, paging, segmentations
• File and I/O device access control
– access control matrix
• Enforcement of sharing resources
– To preserve integrity, consistency (critical
section)
10 10
11. 11
Operating System
features…
• Fair service
– no starvation and deadlock
• Inter-process communication &
synchronization
– Shared variable (e.g, using semaphores)
• Protection of data
– encryption, isolation
– …
12. 12
Computer System
Components
1.Hardware – provides basic computing resources
(CPU, memory, I/O devices).
2.Operating system – controls and coordinates the use
of the hardware among the various application
programs for the various users.
3.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).
15. 15
Mainframe
Systems
• The Operating systems for main frames are
heavily oriented towards processing of many
jobs at once (many I/O devices).
• Reduce setup time by batching similar jobs.
• Automatic job sequencing – automatically
transfers control from one job to another.
• They typically offer three kinds of services:
– Batch System
– Transaction processing system
– Time sharing system
16. Memory Layout for a Simple Batch
System
Batch system - is one
that processes routine
jobs in the absence of
interactive user.
E.g: Multiprogrammed
Batch Systems
Several jobs are kept in main
memory at the same time,
and the CPU is multiplexed
among them.
16
17. 17
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 resources.
18. 18
Transaction processing
system
• handles large number of small requests.
• Each unit of work is small but the system
must handle thousands per second.
• E.g. check processing at bank, airline
reservation.
19. 19
Time-Sharing Systems–Interactive
Computing
• The CPU is multiplexed among several jobs that are
kept in memory and on disk (the CPU is allocated to a
job only if the job is in memory).
– A job swapped in and out of memory to the disk.
– 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.
– On-line system must be available for users to access
data and code.
20. 20
Desktop Operating
Systems
• Personal computers – computer system dedicated to
a single user.
– I/O devices – keyboards, mice, display screens,
small printers.
– User convenience and responsiveness.
• Often individuals have sole use of computer and do
not need advanced CPU utilization of protection
features.
• May run several different types of operating
systems (Windows, MacOS, UNIX,…)
• Linux (RedHat, OpenSuSe, Fedora, Obuntu,..)
21. 21
Parallel Systems (Multiprocessor
OS)
• Connecting multiples CPU’s into a single system.
• Multiprocessor systems with more than on CPU in
close communication.
• Tightly coupled system – processors share bus,
memory, clock and peripheral device.
• communication usually takes place through the
shared memory.
• Advantages of parallel system:
– Increased throughput
– Economical - they can share mass storage,
peripherals,…
– Increased reliability
• If one fail, the other will take responsibility
22. Multiprocessors
OS…
• Like a uniprocessor
operating system
• Manage multiple CPUs
transparently to the
user
• Each processor has its
own hardware cache
– Maintain consistency of
cached data
A
b
u
s
-
b
22
23. 23
Multiprocessor
OS…
• Are similar to
multiprogrammed
uniprocessor operating
systems in many respects
and
– they perform
resource
management and
– hide unpleasant features of
the hardware to provide a
high-level machine
abstraction to the users.
• Are more complex
because multiple
processors execute tasks
concurrently
– with physical concurrency as
opposed to virtual
concurrency in
multiprogrammed
uniprocessors.
24. Parallel Systems (Multiprocessor
OS)…
• Symmetric multiprocessing (SMP)
– Each processor runs an identical copy of the operating
system.
– There is one copy of the supervisor or kernel that can
be executed by all processors concurrently.
– Many processes can run at once without
performance deterioration.
24
Bus
• Most modern operating systems support
SMP
• It permits the parallel execution of a single
task.
• Examples : Hydra OS
25. Parallel Systems (Multiprocessor
OS)…
• Asymmetric multiprocessing
– Master-slave. Operating system in master processor.
– Each processor except master is assigned a specific
task
– master processor schedules and allocated work to
slave processors.
– More common in extremely large systems
25
Issues
• Failure of the master processor.
• The master can become a bottleneck
• Examples : Cyber 170 and DEC(Digital Equipment
corporation)
Bus
26. Multiprocessor
OS…
Separate supervisor Configuration
• Each CPU has its own operating system
• There is very little coupling among processors and
• each processor acts as an autonomous, independent
system.
Bus
• There are some common data structures for
the interaction among processors
The access to which is protected by using some
synchronization mechanism (such as
semaphores).
26
28. Multicomputer (DS) Operating
Systems
General structure of a multicomputer operating
system
More complex than multiprocessor OS
– Because communication has to be done through explicit message
passing
28
29. Server Operating
System
• They run on servers, which are very large
personal computers, workstations, or even
mainframes.
• They serve multiple users at once over a
network.
• They allow the users to share HW and SW
resources.
• E.g. Server can provide print service, file service, or
web service.
• Typical server operating systems are UNIX, Window
2003, and Linux…
29
33. 33
Network Operating
System…
• Users are aware of multiplicity of machines.
• Access to resources of various machines is
done explicitly by
• Remote logging into the appropriate remote machine.
• Transferring data from remote machines to local
machines, via the File Transfer Protocol (FTP)
mechanism.
34. Distributed Operating
System
• Distribute the computation among several
physical processors.
• Loosely coupled system – each processor has its own
local memory, clock, peripheral devices,…
• processors communicate with one another through
various communications lines, such as high-speed
buses or telephone lines.
• Advantages of distributed systems.
– Resources Sharing
– Computation speed up – load sharing
– Reliability
– Communications
34
35. Distributed Operating
System…
• Users not aware of multiplicity
of machines.
• Manages resources in a
distributed system
– Seamlessly and transparently to the user
• Looks to the user like a centralized
OS
– But operates on multiple
independent CPUs
• Provides transparency
– Location, migration,
concurrency, replication,…
• Presents users with a
virtual uniprocessor 35
36. 36
Distributed Operating
Systems…
• Requires networking infrastructure.
• Local area networks (LAN) or Wide
area networks (WAN)
• May be either client-server or peer-to-
peer systems.
37. Distributed OS vs. Network
OS.
User is not aware of
the multiple CPUs.
Each machine runs a part
of the Distributed Operating
System.
The system is fault-
tolerant.
User is aware of the
existence of multiple CPUs.
Each machine has its
own private Operating
System.
The system is not fault-
tolerant
.
37
39. 39
Types of Operating
Systems
An overview of
• DOS (Distributed Operating
Systems)
• NOS (Network Operating Systems)
• Middleware
System Description Main Goal
DOS
Tightly-coupled OS for multi-processors
and homogeneous multicomputers
Hide and manage
hardware
resources
NOS
Loosely-coupled OS for
heterogeneous multicomputers
(LAN and WAN)
Offer local
services to
remote clients
Middleware
Additional layer a top of NOS
implementing general-purpose services
Provide
distribution
transparency
40. Middleware and
Openness
• In an open middleware-based distributed system,
- the protocols used by each middleware layer should be
the same,
- the interfaces they offer to applications should also be
the same 40
41. 41
Role of Middleware
(MW)
• MW tried to provide the illusion that a
collection of separate machines was a single
computer.
• MW also supports seamless access to remote
services, doesn’t try to look like a general-purpose
OS
• Examples of Middleware
– CORBA (Common Object Request Broker Architecture)
– DCOM (Distributed Component Object Management)
– RPC (Remote Procedure Call)
– RMI (Remote Method Invocation)
– Socket (TCP,UDP)
42. 42
Middleware
Examples…
• All of the previous examples support
communication across a network:
• They provide:
– protocols that allow a program running on one
kind of computer,
– using one kind of operating system,
– to call a program running on another computer
– with a different operating system
• The communicating programs must be
running the
same middleware.
43. 43
Real-Time Operating
Systems
• Often used as a control device in a dedicated
application such as controlling scientific experiments,
industrial control systems,…
• These systems are characterized by having time as a
key parameter.
– E.g. Governor, which is used to control the flow of water in
the production of power, Industrial process controls
system.
• If the action absolutely must occur at a certain moment
(or within a certain range), we have a hard real time
OS.
– E.g. Governor, flight control system, air bag in a car…
• Another kind of real time system is a soft real time
operating system, in which missing an occasional
deadline is acceptable.
– E.g. Digital audio or multimedia systems.
44. Embedded Operating
Systems
• Personal Digital Assistants (PDAs)
• Cellular telephones, smart phones,…
• E.g, Windows CE (Consumer
Electronics)
• PalmOS, Android OS,…
• Issues:
– Limited memory
– Slow processors
– Small display screens.
49
45. What is an embedded
system?
Embedded System = Computer Inside a
Product.
50
46. Embedded
systems…
• Embedded computing
systems
– Computing systems embedded
within electronic devices
– Billions of units produced
yearly, versus millions of
desktop units
– Perhaps >50 per household
and per automobile
– A lot more programming is
done for embedded systems
than desktop computers or
servers
Computers are in here...
and here...
and even here...
Lots more of these,
though they cost a lot
less each.
51
47. Embedded Operating
Systems…
• Many different platforms:
– J2ME
– Android
– Apple iPhone
– Microsoft Windows Mobile
– Blackberry
– PalmWebOS
– Nokia (C/C++, Python)
• Symbian (S60, S80)
52
48. Product: Cannon EOS
3D Digital Camera
48
Microprocessor: DIGIC
II Image Processor
Media players are embedded
systems.
Microsoft’s Zune Multimedia player
uses an ARM processor and the
Windows CE Operating System.
Product: Microsoft’s Zune
Portable Media
Device
Microprocessor:
ARM OS:
Windows CE
50. Embedded
OS…
• Dashboard electronics such as the radio, air
conditioning, and satellite navigation system,
Airbags,…
Efficient automatic gearboxes, media, safety …
Automotive Electronics
Product: S class Mercedes
Microprocessors: around
100 embedded
processors !
50
54. Wireless Sensor
Networks
Control (actuator) and monitor (sensor)
networks Initial approach
Data collecting
networks Wired
Present approach
Ad-hoc capacity
Local processing
Wireless Easy
deployment
63
55. 55
Smart card operating system
• The smallest operating system runs on
smart card.
• Contains CPU chip.
• Processing power and memory
constraints.
• They handle a single function like
electronic payment
• Some of them are java oriented.