Multiprogramming

Since the advent of the Internet in the 1980s, there has been a steady growth of new enterprise applications being built on distributed processing. In recent times, there has been an explosive growth in network technology expansion. The technical journey goes in the way of intranet, Internet, World Wide Web, wireless network, GPS, RFID (Radio Frequency Identifier), and so on.

In the emerging world of global computing, distributed computing is the core central piece of all computing.

According to  the fundamentals of computing, there are four core components, namely:

  • Input
  • Process
  • Storage
  • Output

The Input phase ingests the data and commands into CPU using one or more input devices. The Process phase performs the execution of the input data and turns it into useful information as Output. During this process, it persists the useful data into the Storage layer.

In general it is a bit confusing between multiprogramming and multithreading in parallelism context. Few simple examples clear the differentiation in a perfect way.

Multiprogramming is the capability of an operating system to execute more than one program on a single machine. A classic example is to run more than one program, such as Excel, Internet Explorer, word, and more, in a Windows operating system:

In a similar trend, multithreading has the ability of an operating system to execute different parts of a program, namely--threads. It is depicted in the following diagram:

In a different dimension, threads are considered as child processes to share the parent process resources, but execute independently. In terms of parallel execution, multiple threads of a single process shares the single CPU system on time-sliced basis. A classic example is a multiple document process using a single Word process.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.144.244.228