What is the ability of the operating system to use more than one processor?

What is multiprogramming?

Multiprogramming is a rudimentary form of parallel processing in which several programs run at the same time on a uniprocessor system. However, because there is only one processor, there is no true simultaneous execution of different programs. Instead, the operating system (OS) executes part of one program, then part of another, and so on. In this sense, multiprogramming can be thought of as pseudo-parallelism. To the user, it appears that multiple programs are executing at the same time, but that is not what is happening.

Prior to the introduction of multiprogramming, single processor computers could run only one program at a time. Once the program was launched, it ran to completion, unless it was interrupted or the application ceded control. Only after the first program finished running could the processor execute the next program in the queue. This meant that the CPU sat idle during I/O operations, even if other programs were waiting, resulting in application delays and underutilized processor resources.

Multiprogramming addresses this issue by allowing multiple programs to load into memory and run each one in rotation as CPU resources become available. For example, when Program A starts, the operating system assigns CPU resources to that program until the program launches into its I/O operations. Then, the OS assigns CPU resources to Program B, which is already loaded into memory. If Program B launches into I/O operations and Program A is still running its I/O operations, the OS will assign CPU resources to Program C; otherwise, it will assign them back to Program A.

The operating system is responsible for ensuring that CPU resources are properly allocated and reallocated to each program as resources become available, working around the various program's I/O operations. To achieve this, the OS uses a technique called context switching, which ensures that a program's state is preserved in memory and can be readily accessed as the OS switches between programs and CPU assignments.

What is the ability of the operating system to use more than one processor?
The purpose of multiprogramming is to maximize CPU time.

Types of multiprogramming

Multiprogramming is implemented in one of two ways: cooperative multiprogramming or preemptive multiprogramming.

Cooperative multiprogramming is the older of the two models and is seldom used today. With cooperative multiprogramming, context switching is initiated by the programs themselves rather than the OS. Processor resources are reassigned only when a program releases control of those resources. The operating system has no choice but to execute a program with the expectation, but not the certainty, that the program will eventually return control to the OS.

The problem with this approach is that a program can monopolize CPU resources for an inordinate amount of time, keeping other programs waiting. Even worse, a buggy or malicious program might launch an infinite loop and never give up control of the CPU, resulting in a locked system or system crash. Not only does this disrupt user and application workflows, but it can be difficult to debug because it might not be obvious which of several programs is at fault.

With preemptive multiprogramming, the OS has complete control over context switching. It allocates CPU resources based on queued programs and their I/O operations, while limiting the time each program can run. So, if there is a problem with one of the programs, it cannot interfere with operations indefinitely. Today, most computers use preemptive multiprogramming.

See also: multiprocessing

This was last updated in May 2022

Continue Reading About multiprogramming

  • What's next for VMs vs. containers as isolation, performance evolve?
  • Why Java devs should switch to Python or R for data science
  • Transform your infrastructure to support parallel processing
  • Learn the difference between SMP vs. MPP
  • New supercomputer opens doors for researchers in Sweden

Correct Answer - Option 2 : Multi-tasking

An Operating System (OS) is an interface between a computer user and computer hardware. An operating system is a software that performs all the basic tasks like file management, memory management, process management, handling input and output, and controlling peripheral devices such as disk drives and printers.

The ability of an operating system to run more than one application at a time is called multitasking. A multitasking operating system (also called multiprocessing operating system) supports two or more active processes simultaneously. 

  • A multiprogramming operating system is an operating system which in addition to supporting multiple concurrent processes (several processes in execution states simultaneously) allows the instruction and data from two or more separate processes to reside in primary memory simultaneously. 
  • An effective multitasking environment must provide many services both to the user and to the application program it runs.
  • The most important of these are resource management which divides the computers time, memory, and peripheral devices among competing tasks and interprocess communication, which lets tasking coordinate their activities by exchanging information
  • Note that multiprogramming implies multiprocessing or multitasking operation, but multiprocessing operation (or multitasking rig) does not imply multiprogramming. 
  • Therefore, multitasking operation is one of the mechanisms that the multiprogramming operating system employs in managing the totality of computer-related resources like CPU, memory, and I/O devices.
  • The simplest form of multitasking is called serial multitasking or context switching. This is nothing more than stopping one temporarily to work on another. If you have used sidekick, then you have used serial multitasking. While a program is running, you decide that you want to use the calculator, so you pop it and use it. When you stop using the calculator, the program continues running. 

Therefore, The ability of an operating system to run more than one application at a time is called Multi-Tasking.

Which operating system can have more than one processor?

Multiprocessor Operating system. Multiprocessor system means, there are more than one processor which work parallel to perform the required operations. It allows the multiple processors, and they are connected with physical memory, computer buses, clocks, and peripheral devices.

What is the ability of an operating system?

The ability of an operating system to run more than one application at a time is called multitasking. A multitasking operating system (also called multiprocessing operating system) supports two or more active processes simultaneously.

What is it called when a computer runs more than one process at a time?

multitasking, the running of multiple programs (sets of instructions) in one computer at the same time. Multitasking is used to keep all of a computer's resources at work as much of the time as possible.

What is the capability of an operating system to run more than one program at one time known as?

Multitasking, in an operating system, is allowing a user to perform more than one computer task (such as the operation of an application program) at a time. The operating system is able to keep track of where you are in these tasks and go from one to the other without losing information.