Multiprogramming Operating System
Multiprogramming Operating System
Multiprogramming means having multiple active processes in the main memory. Tasks
generally require CPU time and I/O time. So, if the running process performs I/O or some
other event that does not require a CPU, then instead of sitting idle, the CPU makes a
context switch and picks another task, and this idea will continue.
Examples of Multiprogramming Operating Systems
Windows, Linux distributions, macOS, and other desktop operating systems are
examples of multiprogramming operating systems. These are modern operating
systems that make use of a variety of multiprogramming principles. A user can perform
many jobs simultaneously on a system running one of these (or more) operating
systems. Many games, for example, are intended to run on a single CPU core.
Other examples are Windows OS, Microcomputers such as ESQview, XENIX, and MP/M.
Modern computers use the word "multitasking." A multiprogramming operating system that
allows numerous applications to execute simultaneously supports multitasking as a logical
extension. In this method, a CPU and other shared processing resources are shared by
several tasks, also called processes.
Multiuser Operating System
A computer operating system that enables several users to connect to a single system
running the same operating system is known as the multiuser operating system.
Some of the examples are Linux, Unix, Windows 2000, Ubuntu, Mac OS, etc.
Advantages
The multiprogramming operating system has many advantages. Some are listed below:
It aids in the computer's overall job throughput optimization.
Processor Utilization is maximized such that unless there are no tasks to accomplish,
the processor is rarely idle and is frequently in use.
Jobs that require a short amount of CPU time are completed faster than those that
demand a big amount of CPU time.
Multiple users can use the computer system with a multiprogramming operating
system.
Multiprogramming operating systems excel at coping with applications that need the
execution of many tasks.
It may aid in reducing turnaround time for short-duration tasks.
Disadvantages
The multiprogramming operating system has many disadvantages. Some are listed below:
It's quite complex.
CPU scheduling is required.
The most effective memory management is required.
Due to the complexity of schedule handling, multiprogramming is not an easy task.
External fragmentation can occur.