Multiprocessing Operating Systems

  • FIELDS OF STUDY: Computer Engineering; Operating Systems
src-appsci-compsci-sp-ency-sci-322584-167496.jpg

ABSTRACT

A multiprocessing operating system (OS) is one in which two or more central processing units (CPUs) control the computer's functions. Each CPU contains a copy of the OS, which communicates with one another to coordinate operations. The use of multiple processors allows the computer to perform calculations faster, as tasks can be divided among them.

Multiprocessing versus Single-Processor Operating Systems

Multiprocessing operating systems (OSs) perform the same functions as single-processor OSs. They schedule and monitor operations and calculations in order to complete user-initiated tasks. The difference is that multiprocessing OSs divide the work up into various subtasks and then assign these subtasks to different central processing units (CPUs). Multiprocessing uses a distinct communication architecture to accomplish this. A multiprocessing OS needs a mechanism for the processors to interact with one another as they schedule tasks and coordinate their completion. Because multiprocessing OSs rely on parallel processing, each processor involved in a task must be able to inform the others about how its task is progressing. This allows the work of the processors to be integrated when the calculations are done such that delays and other inefficiencies are minimized.

For example, if a single-processor OS were running an application requiring three tasks to be performed, one taking five milliseconds, another taking eight milliseconds, and the last taking seven milliseconds, the processor would perform each task in order. The entire application would thus require twenty milliseconds. If a multiprocessing OS were running the same application, the three tasks would be assigned to separate processors. The first would complete the first task in five milliseconds, the second would do the second task in eight milliseconds, and the third would finish its task in seven milliseconds. Thus, the multiprocessing OS would complete the entire task in eight milliseconds. From this example, it is clear that multiprocessing OSs offer distinct advantages.

Coupling

Multiprocessing OSs can be designed in several ways. One main difference between designs is the degree to which the processors communicate and coordinate with one another. This is known as processor coupling. Coupling is classified as either "tight" or "loose." Loosely coupled multiprocessors mostly communicate with one another through shared devices rather than direct channels. For the most part, loosely coupled CPUs operate independently. Instead of coordinating their use of devices by directly communicating with other processors, they share access to resources by queueing for them. In tightly coupled systems, each CPU is more closely bound to the others in the system. They coordinate operations and share a single queue for resources.

One type of tightly coupled multiprocessing system has processors share memory with each other. This is known as symmetric multiprocessing (SMP). Processor symmetry is present when the multiprocessing OS treats all processors equally, rather than prioritizing a particular one for certain operations. Multiprocessing OSs are designed with special features that support SMP because the OS must be able to take advantage of the presence of more than one processor. The OS has to "know" that it can divide up certain types of tasks among different processors. It must also be able to track the progress of each task so that the results of each operation can be combined once they conclude. In contrast, asymmetric multiprocessing occurs when a computer assigns system maintenance tasks to some types of processors and application tasks to others. Because the type of task assigned to each processor is not the same, they are out of symmetry. SMP has become more commonplace because it is usually more efficient.

Multitasking

The advent of multiprocessing OSs has had a major influence on how people perform their work. Multiprocessing OSs can execute more than one program at a time. This enables computers to use more user-friendly interfaces based on graphical representations of input and output. It allows users with relatively little training to perform computing tasks that once were highly complex. They can even perform many such tasks at once.

Multiprocessing OSs, though once a major innovation, have become the norm rather than the exception. As each generation of computers must run increasingly complex applications, the processing workload becomes greater and greater. Without the advantages offered by multiple processors and OSs tailored to take advantage of them, computers would not be able to keep up.

Bibliography

Garrido, José M., et al. Principles of Modern Operating Systems. 2nd ed., Jones, 2013.

Gonzalez, Teofilo, and Jorge Díaz-Herrera, editors. Computing Handbook: Computer Science and Software Engineering. 3rd ed., CRC, 2014.

"Multi Processing Operating System." GeeksforGeeks, 29 May 2024, www.geeksforgeeks.org/multi-processing-operating-system. Accessed 6 Feb. 2025.

"Multiprogramming and Multiprocessing." IBM, www.ibm.com/docs/en/zos-basic-skills?topic=1960s-multiprogramming-multiprocessing. Accessed 6 Feb. 2025.

Sandberg, Bobbi. Networking: The Complete Reference. 3rd ed., McGraw, 2015.

Silberschatz, Abraham, et al. Operating Systems Concepts. 10th ed., Wiley, 2018.

Stallings, William. Operating Systems: Internals and Design Principles. 9th ed., Pearson, 2021.

Tanenbaum, Andrew S., and Herbert Bos. Modern Operating Systems. 5th ed., Pearson, 2022.