Tuesday, November 17, 2009

The Confusion about multitasking

Om Sai Ram

I find that there is lot of confusion among students and teachers as well, about the difference between the terms : Multiprogramming and Multitasking. I attempt to clear the prevalent haze through the discussion given below:

Owing to the high computational speed of the processor, somewhere in 60s, the designers took a decision to allow multiple users to connect to the computer system so that maximum utilization could be obtained. Having decided to build a multi-user system, it became mandatory to bring one program of each user into the main memory of the system. This act of bringing multiple programs into the main memory was called as multiprogramming. The precise definition is given below:

Multiprogramming: concurrent residency of multiple programs, belonging to different users, in main memory is called as multiprogramming.

It may be noted that multiprogramming has nothing to do with as how the programs are executed and in what order. In fact, it is the OS that schedules them for execution. However, Multiprogramming required the designers to answer the following two fundamentals questions:

  1. Which program will get the main memory.
  2. Out of the resident programs, which program will get the Processor.

Additionally, a program belonging to one user was needed to be protected from programs of other users.

Note: a multiprogramming system has to be necessarily multi-user.

The designers found that even after multiprogramming, the processor was sitting idle. Many times the I/O bound program of a user was repeatedly thrown out of processor for want of completion of I/O and the user had to wait. As the user was allowed to submit only one program at a time, the wait became even more significant.

In the light of the above problem, the designers extended the operating system to allow user to submit more than one jobs. A job was considered as a task and hence the term: multitasking. The precise definition is given below:

Multitasking : the ability of a system to allow a user to submit more than one task, is called as multitasking.

Since the various tasks belong to the same user, They need not be protected from each other as vigorously as in the case of multiprogramming.

When the OS is single User, it is called as - single user multitasking.
Example : Windows OS

When the Os is multi-user(and hence multiprogramming also), the Os is called Multi-user, multiprogramming, and multitasking.
Example : Unix.

A. K. Sharma


Thought to Ponder:

God is Love and can be won only through the cultivation and exercise of Love. He cannot be trapped by any trick. He yields grace only when his commands are followed - commands to love all, to serve all.

(Bhagwan Sri Satya Sai Baba)

No comments:

Post a Comment