You are on page 1of 16

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

You might also like