Page 36 - DCAP103_Principle of operating system
P. 36
Unit 1: Operating System
mostly in software, whereas multiprocessing is more appropriate to describe the use of multiple Notes
hardware CPUs. A system can be both multiprocessing and multiprogramming, only one of
the two, or neither of the two.
Processor Symmetry: In a multiprocessing system, all CPUs may be equal, or some may be
reserved for special purposes. A combination of hardware and operating-system software design
considerations determine the symmetry (or lack thereof) in a given system. For example, hardware
or software considerations may require that only one CPU respond to all hardware interrupts,
whereas all other work in the system may be distributed equally among CPUs; or execution
of kernel mode code may be restricted to only one processor (either a specific processor, or
only one processor at a time), whereas user-mode code may be executed in any combination of
processors. Multiprocessing systems are often easier to design if such restrictions are imposed,
but they tend to be less efficient than systems in which all CPUs are utilized.
Systems that treat all CPUs equally are called symmetric multiprocessing (SMP) systems.
In systems where all CPUs are not equal, system resources may be divided in a number of
ways, including asymmetric multiprocessing (ASMP), non-uniform memory access (NUMA)
multiprocessing, and clustered multiprocessing.
Processor Coupling: Tightly-coupled multiprocessor systems contain multiple CPUs that
are connected at the bus level. These CPUs may have access to a central shared memory
(SMP or UMA), or may participate in a memory hierarchy with both local and shared
memory (NUMA). Chip multiprocessors, also known as multi-core computing, involves
more than one processor placed on a single chip and can be thought of the most extreme
form of tightly-coupled multiprocessing. Mainframe systems with multiple processors are
often tightly-coupled.
Loosely-coupled multiprocessor systems (often referred to as clusters) are based on multiple
standalone single or dual processor commodity computers interconnected via a high speed
communication system (Gigabit Ethernet is common). A Linux Beowulf cluster is an example
of a loosely-coupled system.
Tightly-coupled systems perform better and are physically smaller than loosely-coupled systems,
but have historically required greater initial investments and may depreciate rapidly; nodes in
a loosely-coupled system are usually inexpensive commodity computers and can be recycled
as independent machines upon retirement from the cluster.
Power consumption is also a consideration. Tightly-coupled systems tend to be much more
energy efficient than clusters. This is because considerable economies can be realized by designing
components to work together from the beginning in tightly-coupled systems, whereas loosely-
coupled systems use components that were not necessarily intended specifically for use in such
systems.
Instruction and Data Streams: In multiprocessing, the processors can be used to execute a single
sequence of instructions in multiple contexts (single-instruction, multiple-data or SIMD, often
used in vector processing), multiple sequences of instructions in a single context (multiple-
instruction, single-data or MISD), or multiple sequences of instructions in multiple contexts
(multiple-instruction, multiple-data or MIMD).
LOVELY PROFESSIONAL UNIVERSITY 29