Department of Energy Argonne National Laboratory Office of Science NEWTON's Homepage NEWTON's Homepage
NEWTON, Ask A Scientist!
NEWTON Home Page NEWTON Teachers Visit Our Archives Ask A Question How To Ask A Question Question of the Week Our Expert Scientists Volunteer at NEWTON! Frequently Asked Questions Referencing NEWTON About NEWTON About Ask A Scientist Education At Argonne Multitasking
Name: L
Status: Student
Age: 20s
Location: N/A
Country: N/A
Date: Around 1999


Question:
I asked you a question once, and I was impressed by the quality of your answer. I would like to continuely learn from you, and I hope you would not refuse a eager student. Here is my question: heard that today's computer can run many tasks " at the same time." Are these tasks really running at the same time? If a computer is running five tasks simultaneously, each task, if run by itself would take one minute to run. In the first situation, all five tasks are number crunches. In the second situation, all five tasks do a lot of disk I/O. In the third situation, the five tasks do a mixture of crunching and I/O. Which task set would take the least overall time to run? Which task set the most? Why?

Waiting for your reply,



Replies:
That is a great question.

That is another great question.

Let me define the two forms of multitasking. The first form, which is most common is, preemptive multitasking. This is achieved by the OS of the computer giving a program a given amount of time to get a task done. If the program does not finish the task in this given amount of time, it is forced to give up control of the CPU and then wait to the next time it can use the CPU to finish it's task. The other form of multitasking is cooperative multitasking. Cooperative multitasking is when the OS gives the program full control of the CPU. With cooperative multitasking, the current process or task has complete control and will not allow any other processes to interrupt. This sounds like a good process but it is the lesser of the two, most applications that run on a server or a high performance computer are time sensitive, if they cannot complete their tasks because another process is using 100% of the processor, they will most likely fail and reduce the performance of the system. One example of a preemptive OS is Windows NT. NT has the ability to multitask/ multithread. And the ability to assign a higher, lower, or real-time priority to the process to get it done with the most efficiency.

Also noted in your question was the different cases on which task would run quicker. It all depends on the equipment that your machine is running. If you have the same platform and computer doing all these tasks, I would say the number crunching would take the least amount of time, but would affect other applications running hence making them slower. Then the combination of disk I/O and number crunching would take the second least amount of time, due to the fact that the computer can rely more on the processor and memory over the delay of the disk I/O. Concluding to take the most time would be a disk I/O due to the fact that you have a physical limit in the speed of the disk in RPM and servo access time and disk buffer size.

Thanks for using NEWTON!
Joe Noga MCP, N+
Network Support
Argonne National Laborator


Click here to return to the Computer Science Archives

NEWTON is an electronic community for Science, Math, and Computer Science K-12 Educators, sponsored and operated by Argonne National Laboratory's Educational Programs, Andrew Skipor, Ph.D., Head of Educational Programs.

For assistance with NEWTON contact a System Operator (help@newton.dep.anl.gov), or at Argonne's Educational Programs

NEWTON AND ASK A SCIENTIST
Educational Programs
Building 360
9700 S. Cass Ave.
Argonne, Illinois
60439-4845, USA
Update: June 2012
Weclome To Newton

Argonne National Laboratory