Multi Processing

Multi Processing

What is the Multiprocessing Operating System?

Multiprocessor operating systems are used in operating systems to boost the performance of multiple CPUs within a single computer system.

Multiple CPUs are linked together so that a job can be divided and executed more quickly. When a job is completed, the results from all CPUs are compiled to provide the final output. Jobs were required to share main memory, and they may often share other system resources. Multiple CPUs can be used to run multiple tasks at the same time, for example, UNIX.

One of the most extensively used operating systems is the multiprocessing operating system. The following diagram depicts the basic organisation of a typical multiprocessing system.

Pros of Multiprocessing OS

Increased reliability:?Processing tasks can be spread among numerous processors in the multiprocessing system. This promotes reliability because if one processor fails, the task can be passed on to another.

Increased throughout:?More work could be done in less time as the number of processors increases.

The economy of scale:?Multiprocessor systems are less expensive than single-processor computers because they share peripherals, additional storage devices, and power sources.

Cons of Multiprocessing OS

Multiprocessing operating systems are more complex and advanced since they manage many CPUs at the same time.

Types of Multiprocessing OS


Symmetrical

Each processor in a symmetrical multiprocessing system runs the same copy of the OS, makes its own decisions, and collaborates with other processes to keep the system running smoothly. CPU scheduling policies are straightforward. Any new job that is submitted by a user could be assigned to the least burdened processor. It also means that at any given time, all processors are equally taxed.

Since the processors share memory along with the I/O bus or data channel, the symmetric multiprocessing OS is sometimes known as a “shared everything” system. The number of processors in this system is normally limited to 16.

Characteristics

  • Any processor in this system can run any process or job.
  • Any CPU can start an Input and Output operation in this way.

Pros

These are fault-tolerant systems. A few processors failing does not bring the whole system to a standstill.

Cons

  • It is quite difficult to rationally balance the workload among processors.
  • For handling many processors, specialised synchronisation algorithms are required.

Asymmetric

The processors in an asymmetric system have a master-slave relationship. In addition, one processor may serve as a master or supervisor processor, while the rest are treated as illustrated below.


In the asymmetric processing system represented above, CPU n1 serves as a supervisor, controlling the subsequent CPUs. Each processor in such a system is assigned a specific task, and the actions of the other processors are overseen by a master processor.

We have a maths coprocessor, for example, that can handle mathematical tasks better than the main CPU. We also have an MMX processor, which is designed to handle multimedia-related tasks. We also have a graphics processor to handle graphics-related tasks more efficiently than the main processor. Whenever a user submits a new job, the operating system must choose which processor is most suited for the task, and that processor is subsequently assigned to the newly arriving job. This processor is the system’s master and controller. All other processors search for masters for instructions or have jobs that are predetermined. The master is responsible for allocating work to other processors.

Pros

Because several processors are available for a single job, the execution of an I/O operation or application software in this type of system may be faster in some instances.

Cons

The processors are burdened unequally in this form of multiprocessing operating system. One CPU may have a large job queue while another is idle. If a process handling a specific task fails in this system, the entire system will fail.

要查看或添加评论,请登录

Vanshika Munshi的更多文章

  • Key Data Engineer Skills and Responsibilities

    Key Data Engineer Skills and Responsibilities

    Over time, there has been a significant transformation in the realm of data and its associated domains. Initially, the…

  • What Is Financial Planning? Definition, Meaning and Purpose

    What Is Financial Planning? Definition, Meaning and Purpose

    Financial planning is the process of taking a comprehensive look at your financial situation and building a specific…

  • What is Power BI?

    What is Power BI?

    The parts of Power BI Power BI consists of several elements that all work together, starting with these three basics: A…

  • Abinitio Graphs

    Abinitio Graphs

    Graph Concept Graph : A graph is a data flow diagram that defines the various processing stages of a task and the…

  • Abinitio Interview Questions

    Abinitio Interview Questions

    1. What is Ab Initio? Ab Initio is a robust data processing and analysis tool used for ETL (Extract, Transform, Load)…

  • Big Query

    Big Query

    BigQuery is a managed, serverless data warehouse product by Google, offering scalable analysis over large quantities of…

  • Responsibilities of Abinitio Developer

    Responsibilities of Abinitio Developer

    Job Description Project Role : Application Developer Project Role Description : Design, build and configure…

  • Abinitio Developer

    Abinitio Developer

    Responsibilities Monitor and Support existing production data pipelines developed in AB Initio Analysis of highly…

  • Data Engineer

    Data Engineer

    Data engineering is the practice of designing and building systems for collecting, storing, and analysing data at…

  • Pyspark

    Pyspark

    What is PySpark? Apache Spark is written in Scala programming language. PySpark has been released in order to support…

社区洞察