Operating Systems
By
Dr Tariq
(Lecture 3)
1
Computer-System Architecture
Single general-purpose processor
Most systems have special-purpose processors as well
Multiprocessors systems
Also known as parallel systems, tightly-coupled systems
Advantages include:
Increased throughput
Economy of scale
Increased reliability – graceful-degradation/fault-tolerance
Two types:
Symmetric Multiprocessing – each processor performs all tasks
Asymmetric Multiprocessing – each processor is assigned a
specific task.
Symmetric Multiprocessing Architecture
Multicore Systems
Most CPU design now includes multiple computing cores on a
single chip. Such multiprocessor systems are termed multicore.
Multicore systems can be more efficient than multiple chips with
single cores because:
On-chip communication is faster than between-chip communication.
One chip with multiple cores uses significantly less power than
multiple single-core chips, an important issue for laptops as well as
mobile devices.
Note -- while multicore systems are multiprocessor systems, not
all multiprocessor systems are multicore.
A dual-core with two cores placed on the same chip
Clustered Systems
Like multiprocessor systems, but multiple systems working
together
Usually sharing storage via a storage-area network (SAN)
Provides a high-availability service which survives failures
Asymmetric clustering has one machine in hot-standby mode
Symmetric clustering has multiple nodes running applications,
monitoring each other
Clustered Systems
Multiprogrammed System
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
Batch systems:
One job selected and run via job scheduling
When it has to wait (for I/O for example), OS switches to another
job
Interactive systems:
Logical extension of batch systems -- CPU switches jobs so
frequently that users can interact with each job while it is
running, creating interactive computing
Interactive Systems
Response time should be < 1 second
Each user has at least one program executing in memory. Such
a program is referred to as a process
If several processes are ready to run at the same time, we
need to have CPU scheduling.
If processes do not fit in memory, swapping moves them in
and out to run
Virtual memory allows execution of processes not completely
in memory
Memory Layout for Multiprogrammed System
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, etc.
Initialization data
Process termination requires reclaim of any reusable resources
A thread is a basic unit of CPU utilization within a process.
Single-threaded process. Instructions are executed sequentially, one at a
time, until completion
Process has one program counter specifying location of next instruction to
execute
Multi-threaded process has one program counter per thread
Typically, a system has many processes, some user, some operating
system running concurrently on one or more CPUs
Concurrency by multiplexing the CPUs among the threads
Process Management Activities
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
To execute a program all (or part) of the instructions must be in
memory
All (or part) of the data that is needed by the program must be in
memory.
Memory management determines what is in memory and when
Optimizing CPU utilization and computer response to users
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 deallocating memory space as needed
Storage Management
OS provides uniform, logical view of information storage
Abstracts physical properties to logical storage unit - file
Files are stored in a number of different storage medium.
Disk
Flash Memory
Tape
Each medium is controlled by device drivers (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
Secondary-Storage Management
Usually disks used to store data that does not fit in main
memory or data that must be kept for a “long” period of
time
Proper management is of central importance
Entire speed of computer operation hinges on disk
subsystem and its algorithms
OS activities
Free-space management
Storage allocation
Disk scheduling
Some storage need not be fast
Tertiary storage includes optical storage, magnetic tape
Still must be managed – by OS or applications