«
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:
· Execute user programs and make solving user
problems easier
· Make the computer system convenient to use
· Use the computer hardware in an efficient manner
«
Computer System
Structure
Computer system can be
divided into four components:
1. Hardware
CPU, memory, I/O devices, etc.
2. Operating system
Controls
and coordinates the use of hardware among various applications and users
3. Application programs
Word
processors, compilers, web browsers, database systems, video games
4. Users
People,
machines, other computers

«
Computer System
Organization

«
Computer-System
Operation
· I/O
devices and the CPU can execute concurrently
· Each device controller is in charge of a
particular device type
· Each device controller has a local buffer
· CPU moves data from/to main memory to/from local buffers
· I/O is from the device to local buffer
of controller
· Device controller informs CPU that it
has finished its operation via interrupt
«
Common Functions of
Interrupts
·
Interrupt
transfers control to the interrupt service routine generally, through the interrupt vector, which contains the
addresses of all the service routines
·
Interrupt
architecture must save the address of the interrupted instruction
·
Incoming
interrupts are disabled while another interrupt is
processed to prevent a lost interrupt
·
An
operating system is interrupt driven
Interrupt Handling
· The operating system preserves the state
of the CPU by storing registers and the program counter
· Determines which type of interrupt has
occurred
· Separate segments of code determine what
action should be taken for each type of interrupt
![]()
«
Direct Memory
Access Structure
·
Used
for high-speed I/O devices to transmit information at close to memory speeds
·
Device
controller transfers blocks of data from buffer storage directly to main memory
without CPU intervention
·
Only
one interrupt is generated per block, rather than one interrupt per byte
«
Storage Structure
· Main memory – storage media that the CPU can access directly
· Secondary
storage – extension of main memory
that provides large nonvolatile storage capacity
· Magnetic
disks – metal covered with magnetic
recording material
Disk surface is logically divided into tracks,
which are subdivided into sectors
«
Storage-Device
Hierarchy

«
Caching
· Information in use copied
from slower to faster storage temporarily
· Faster storage (cache)
checked first to determine if information is there
ü If it is, information used
directly from the cache (fast)
ü If not, data copied to cache
and used there
· Cache smaller than storage
being cached
ü Cache management is
important design problem
ü Cache size and replacement
policy
![]()
«
How a Modern
Computer Works

«
Operating System
Structure
· Multiprogramming needed for efficiency
ü Single user cannot keep CPU and I/O devices busy at
all times
ü Multiprogramming organizes jobs (code and data) so CPU
always has one to execute
ü A subset of total jobs in system is kept in memory
ü One job selected and run via job scheduling
ü When it has to wait (for I/O for example), OS switches
to another job
· Timesharing (multitasking) is logical
extension in which CPU switches jobs so frequently that users can interact with
each job while it is running, creating interactive
computing
ü Response time should be <
1 second
ü Each user has at least one program executing in memory
[process
ü If several jobs ready to run at the same time [ CPU scheduling
ü If processes don’t fit in memory, swapping moves them in and out to run
ü Virtual memory allows
execution of processes not completely in
memory
«
Operating-System
Operations
Dual-mode operation
allows OS to protect itself and other system
components
· User mode and Kernel mode
· Mode bit provided by
hardware
ü Provides ability to distinguish when system is running
user code or kernel
code
ü Some instructions designated as privileged, only executable in kernel mode
ü System
call changes mode to kernel, return from call resets it to user
Transition from User to Kernel Mode
Timer to prevent infinite loop / process
hogging resources
ü
Set
interrupt after specific period
ü
Operating
system decrements counter
ü
When
counter zero generate an interrupt
ü
Set
up before scheduling process to regain control or terminate program that
exceeds allotted time

![]()
«
Process Management
· A process is a program in execution. It is a unit of
work within the system.
· Program is a passive
entity, process is an active
entity.
· Process needs resources to accomplish its task:
CPU,
memory, I/O, Files, Initialization data
· Process termination requires reclaim of any reusable
resources
· Single-threaded process has one program counter specifying
location of next instruction to execute. Process executes instructions
sequentially, one at a time, until completion
· Multi-threaded process has one program counter per thread
· Typically system has many processes, some user, some
operating system running concurrently by multiplexing the CPU among the
processes / threads
The operating system is responsible for the following activities
in connection with process management:
·
Creating and
deleting both user and system
processes
·
Suspending
and resuming processes
·
Providing
mechanisms for process synchronization
·
Providing
mechanisms for process communication
·
Providing
mechanisms for deadlock handling
«
Memory Management
Memory management
activities
· Keeping track of which
parts of memory are currently being used and by whom
· Deciding which processes
(or parts thereof) and data to move into and out of memory
· Allocating and de-allocating memory space as needed
«
Storage Management
OS provides uniform, logical view of
information storage
· Abstracts physical
properties to logical storage unit - file
· Each medium is controlled
by device (i.e., disk drive, tape drive).
· Varying properties include
access speed, capacity, data-transfer rate, access method (sequential or
random)
File-System
management
· Files usually organized
into directories
· Access
control on most
systems to determine who can access what
· OS activities include
§ Creating and deleting files and directories
§ Primitives to manipulate
files and directories
§ Mapping files onto
secondary storage
§ Backup files onto stable
(non-volatile) storage media
«
Performance of
Various Levels of Storage

![]()
«
Protection and
Security
· Protection –controlling
access of processes or users to resources defined by the OS
· Security –
defense of the system against internal and external attacks:
denial-of-service, worms, viruses, identity theft, theft of service.
· Systems distinguish among users, to determine who can
do what
ü User identities (user IDs) include name and
associated number, one per user
ü User ID then associated with all files, processes of
that user to determine access control
ü Group identifier (group IDs) allows a set of
users to be defined for access control, also associated with each process and
file.
ü Privilege escalation allows user to change to effective ID with more
rights.
![]()
«
Computing
Environments
·
Traditional computer: Blurring over time
o
Office
environment
§ PCs connected to a network, terminals attached to
mainframe or minicomputers providing batch and timesharing
§ Now portals allowing networked and remote systems
access to same resources.
o
Home networks
§ Used to be single system, then modems
§ Now firewalled, networked
· Client-Server
Computing
o
Dumb terminals
supplanted by smart PCs
o
Many systems act
as servers, responding to requests generated by clients
§ Compute-server provides
an interface to client to request services (i.e. database)
§ File-server provides
interface for clients to store and retrieve files

· Peer-to-Peer
Computing
P2P does not distinguish clients and servers
§ Instead all nodes are considered peers
§ May each act as client, server or both
§ Node must join P2P network
· Registers its service with central lookup service on network,
or
· Broadcast request for service and respond to requests for
service via discovery protocol
§ Examples include Napster and Gnutella
· Web-Based Computing
§
More devices
becoming networked to allow web access (cloud
computing)
§
New category of
devices to manage web traffic among similar servers: load balancers
![]()
«
Open-Source
Operating Systems
· Operating systems made available in source-code format
rather than just binary closed-source
· Counter to the copy protection and Digital Rights
Management (DRM) movement
· Started by Free Software Foundation (FSF), which has “copyleft” GNU
Public License (GPL)
· Examples include GNU/Linux, BSD UNIX
(including core of Mac OS X), and Sun
Solaris