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
   31   32   33   34   35   36   37   38   39   40   41