Skip to content
The Computer Science
TheCScience
  • Engineering Subjects
    • Human Values
    • Computer System Architecture
    • Microprocessor
    • Digital Communication
    • Internet of Things
  • NCERT Solutions
    • Class 12
    • Class 11
  • Solutions
    • HackerRank
      • C Solutions
      • C++ Solutions
      • Java Solutions
      • Python Solutions
      • Algorithms Solutions
      • Data Structures Solutions
    • HackerEarth Solutions
    • Leetcode Solutions
  • JEE 2027
The Computer Science
TheCScience

Degree of Multiprogramming in Operating Systems | OS Tutorials

YASH PAL, June 13, 2026June 13, 2026

To improve the performance of the computer operating system, the concept of multiprogramming was introduced, which states that “more than one process is accessed at a single instance of time“. In general terms, multiprogramming is the rapid switching of the CPU between multiple processes in memory. It is done only when the currently running process requests I/O or terminates. In an operating system, the degree of multiprogramming is defined by the number of partitions of memory that can be allocated to the different processes.

Table of Contents

  • Degree of Multiprogramming in OS
    • Creating a Load Module

Degree of Multiprogramming in OS

It is commonly used to keep the CPU busy while one or more processes are doing I/O. Multiprogramming makes efficient use of the CPU by overlapping the demands for the CPU and its I/O devices from various users. To access more than one process at a time, they must reside in memory. For this, we should know that how should more than one process can be allocated in one memory.

Various memory management policies have been developed to address this problem in a multiprogramming environment. Partitioned Memory Management for contiguous memory allocation is a method in which physical memory is divided into sectors called partitions, each of which may be allocated to a different process. Thus, the degree of multiprogramming is bound by the number of partitions. When a partition is free, a process is selected from the input queue and loaded into the free partition.

  • When the process terminates, the partitions become available for another process.
  • Depending on when and how partitions are created and modified, memory partitioning may be fixed (static) or variable (dynamic).
  • In the fixed partition method, these partitions could be of different sizes, but once decided at the time of system generation, they could not be changed. This method could be used with swapping or relocation, or without them.
  • The number and sizes of individual partitions are determined at the time of system generation by gathering the statistical data about the capacity of the available physical memory, the desired degree of multiprogramming, and the sizes of processes most frequently run on given installations.
  • Since at most one process may execute out of a given partition at any time, the number of distinct partitions represents an upper limit on the number of active processes in an operating system.
  • This figure is sometimes called the degree of multiprogramming.

Creating a Load Module

  • A load module is an executable program stored in a partitioned data set program library.
  • Creating a load module to execute only will require that you use a batch loader or program management loader.
  • Creating a load module that can be stored in a program library requires that you use the binder or linkage editor.
  • In all cases, the load module is relocatable, which means that it can be located at any address in virtual storage within the confines of the residency mode (ROMODE).
  • Once a program is loaded, control is passed to it, with a value in the base register.
  • This gives the program its starting address, where it was loaded, so that all addresses can be resolved as the sum of the base plus the offset.
  • Relocatable programs allow an identical copy of a program to be loaded in many different address spaces, each being loaded at a different starting address.
engineering subjects Operating System Operating System

Post navigation

Previous post
Next post

Leave a Reply

Your email address will not be published. Required fields are marked *

Engineering Core Subjects

Digital Communication Subject
Internet of Things Subject
Computer Architecture subject
Human Value Subject

JEE Study Materials

JEE Physics Notes
JEE Chemistry Notes

TheCScience

At TheCScience.com, our mission is to make quality education accessible to everyone. We provide in-depth, easy-to-understand articles covering Secondary, Senior Secondary, and Graduation-level subjects.

Pages

About US

Contact US

Privacy Policy

DMCA

Our Tools

Hosting - get 20% off

Engineering Subjects

Internet of Things

Human Values

Digital Communication

Computer System Architecture

Microprocessor

Programming Tutorials

Data Structure and Algorithm

C

Java

NCERT

Class 12th

©2026 TheCScience | WordPress Theme by SuperbThemes