NewDeal Hot Tip 1518General Use
Task Switching: Similar to Single Tasking in that only one application is in main memory and running. However, you may have several other applications which are "switched out." These applications are moved into expanded or extended memory, or swapped to disk; they are not actually running or performing any function. You can switch quickly (1-15 seconds) between the running application and any one of the "switched out" applications. When you switch to an application it picks up exactly where it left off when you switched it out.
Multi-Tasking: This is when you have several applications in memory and running at the same time. You can be typing in your word processor, while downloading a file with your terminal package, and printing from your graphics program, for example. Inside your computer the CPU is not really running all the applications at the same time. Instead it executes some instructions for one application then executes some instructions for another application and so on. This switching is so fast that to the user it appears that all the applications are running at the same time. Multi-tasking comes in two flavors: Cooperative and Pre-emptive.
Cooperative Multitasking: A primitive means of multitasking. To allow the CPU to switch to a different application, the current application must "give up" the CPU. The programmer actually makes system calls which tell the operating system that the application is willing to stop executing. The smoothness of the transition between applications is dependent upon programmers correctly anticipating when their programs will be busy and making the system calls at appropriate times. Microsoft Windows 3.x provides cooperative multitasking for its own applications when running in enhanced mode and provides task switching for DOS applications.
Pre-emptive Multitasking: The correct way to multitask. The operating system uses a concept called a Time-Slice (usually about 1/10 of a second). It allows one application to run for the entire Time-Slice, then it examines the list of applications that wish to run and gives the application with the highest priority the next Time-Slice. Each application has a base priority and this priority increases if the user is interacting with it and decreases if the application was recently given a Time-Slice.
Last Modified 2 Mar 1999