Thursday, 8 February 2018

Multi-tasking is a myth!

Yes, you heard it right. Multitasking is a myth and it is a true fact. It don't even exist in computers. On mailing list of #dgplug channel, kushal shared a very interesting video on scaling yourself for summer trainees like me,

 


In the above, video Scott Hanselman - Principal Program Manager, Microsoft sharing his experience and advice on how to scale yourself (not weigh) but to improve your daily jobs/work efficiently.

He said, "Multitasking is a myth, ..., that is a computer science fact... you can't it's biologically impossible, ... , the best multitasking you can do is while sleep with the problem. Let the background threads do that work for you while you sleep."

So, is multitasking is really a myth.

Well, not exactly.

Multitasking is the ability of someone capable of doing more than one job at once which is not physically, or computationally possible. You can't do perform two different action using same hand, but you can using two. What I mean, even computer cores uses threads to do multitasking which is not exactly multitasking because, two different threads are doing different things and not single entity doing multiple job.


So, how these operating system perform multitasking if it don't even exists? Why is your operating system called multitasking operating system.

Here's why...

They can schedule multiple jobs efficient enough, difficult for user to detect. Scheduling is one of the primary functionality of any operating system. What really happens, is operating system schedule all the jobs, depending on the algorithm or method used, to select one program for cpu to process and shift to another. Each program is given certain amount of CPU time but no 2 programs get CPU time simultaneously.

Multitasking == Scheduling

So if you see someone saying he can multi-task, don't believe him. And if you yourself believe you can multi-task, think about it again. People add "Multitasking" as a strength in their resume, which is not possible. What they should write is, "Can schedule my job well enough to handle multiple jobs at once".

Note: How I know this, I too used to think that multitasking is there and failed miserably trying to achieve it :p.

Till Then,

To Infinity and Beyond!