CrazyEngineers Archive
Old, but evergreen and popular discussions on CrazyEngineers, presented to you in read-only mode.
@deepika mishra • 13 Sep, 2010
What is the difference between Multi-programming and Multi-tasking? Please illustrate with an example.
@anandkumarjha • 13 Sep, 2010 Multitasking is also refered to as multi processing and it can be explained as the occurence of two or more process at a time in a system.it shares the common processor called CPU.CPU executes more than one task at a time.IN cpu when one task is running at a given time then other waits for its turn
but in the case of multiprogramming more than one programmes is being loaded into the main memory at a time and the first one starts executing and likewise all the programmes executes one after another when the running task waits for some devices.
@anandkumarjha • 13 Sep, 2010 in multiprogramming the programs may delay themselves as it is possible for the first program which is currently running to finish itself without wanting for any periferal devices but this is not the case with multitasking .all the process will go cuncurrently
@deepika mishra • 19 Sep, 2010 Not yet getting the concept.Is Multi-programming meant for executing simultaneous programs of the same application?
@Reya • 20 Sep, 2010 hey deepika have a look at the link which opty has posted you will have better idea about multi programming
&multi tasking.If you cant understand u are free to ask.
@Reya • 20 Sep, 2010 In multi programming it cannot execute the programs simultaneously in the memory..In this process several different programs were loaded in the computer memory, and the first one began to run. One program after another executed when the first program reached an instruction it has to wait for a device that has a message, the context of this program was stored away, and the second program in memory was given a chance to run. The process continued until all programs finished running.More than one program reside into the main memory is called multiprogramming..
And more than one program reside into the same cpu is called multi tasking..
@Leo • 20 Sep, 2010 So i think it's getting little difficult for someone to explain difference, so i' ll try to go in detail.

1.A line of code written in any programming language is known as instruction.

2.A set of instruction is known as program.Ex. A Typical program in source code format.

3.A program in execution state makes a process, in other word a running program is a process.

4.A single program or multiple programs working together to give productive output is software.

5.Note that software is logically coined term and running of a complete software program is a task. Ex. MS Word. This means even task is logical term.
In other words multi-programming is term coined with respect software developer and multi-tasking with respect to general user. So they are exactly one and the same thing but the meaning differs to whom it is concerned.

6.Now a capability of environment or platform to run several processes simultaneously is known as multi-processing. Note that multi-processing is capability of platform not CPU, a CPU may be designed with single core or multiple core or to process one instruction one time, or multiple instruction one time, it's job of platform you are using to make several processes run simultaneously by using scheduling algorithm.

7.A process space is resources taken by a specific process for self execution.Memory and Hard Disk Space.

8.Multi-threading is property of program via which it is able to process several request with available process space . Multi-threading is not feature of any platform, it is feature of program and programming language. Multi-threading property of program is crafted by programmer and not by OS.

9.Now if a CPU have multiple cores and even your platfrom supports processing on multiple processors, then a property of program to run on more than one CPU is known as its CPU Affinity. A CPU affinity refers to one compelete program running multiple processes, not to a task since a task may conatin more than one program.

10.A capability of CPU to run several instruction one time is known as Hyper-Threading. It does not refer context switching it means two or more different instructions being executed simultaneously.

Note:In above discussion Environment and Platform always refereed to an Operating System.

This is possible easiest explanation i can give. Rest is left to your understanding. Happy Computing.
@Reya • 20 Sep, 2010 Awesome explanation leo😀no one ll ask doubt after reading this😀
@deepika mishra • 20 Sep, 2010 @Leo:Its really a great detailed description.Thanks.
@praveena:I was actually missing opti's links. Thanks for your efforts.
@optimystics:I got my point cleared.Thanks a lot.
@maurizio fridtjof • 03 Dec, 2016
deepika mishra
What is the difference between Multi-programming and Multi-tasking? Please illustrate with an example.
I found this short post very useful. You may give it a shot
Difference between Multiprogramming, Multitasking, Multithreading and Multiprocessing
@Jay Kosta • 04 Dec, 2016 The 'main concern' and 'complication' with multi-anything is how to synchonize and serialize the use of items that are 'common' among the various tasks/threads/processes.

For example -if a section of code needs 'exclusive control' of a data block that is accessible by others, then there needs to be a way to 'block' those others from interfering until the 'owning' section of code has completed its use of the data block..

Jay Kosta
Endwell NY USA

Related Posts

@slashfear · May 19, 2009

Hi CEans, I thought of putting this tutorial here in CE, so that it would be useful for other CEans!! Some of you out there would have never heard of...

@jaspal rautela · Jun 10, 2012

what is function of crankshaft? and what application of this?

@Ankita Katdare · May 3, 2014

LG G Pro 2 is now in India. Amidst a lot of expectations and speculations, the smartphone cum phablet has entered an over-crowded Android phone market in India at a...

@simanchal010 · Feb 14, 2010

please tell me the way of conversion detail, from source code to object code of a programme.:wink: please give me detailed information about this topic.:wink:

@Guneet Khanuja · Jun 16, 2014

ideaForge was founded by a team of IIT Bombay grads (Ankit Mehta, Rahul Singh, Ashish Bhat, Amardeep Singh) and Vipul Joshi. Ankit Mehta completed his B.Tech and M.Tech in Mechanical...