NewDeal Hot Tip 1518

[Hot Tips for...] General Use

Multitasking and Task Switching

NewDeal does pre-emptive multitasking with applications written for it like NewWrite and NewDraw. NewDeal as a whole will single-task with other DOS applications. If you use DR DOS and enable its task switching feature, NewDeal will task switch with other DOS applications and the applications that you task switch appear in the Express menu. If you run NewDeal from Windows, Windows will serve as a task switcher for NewDeal and your other DOS programs.

Definitions

Single Tasking: This is what you have been using for years when you run DOS applications. One program is in main memory. To use another application you must shut down the current application and load the new program into memory.

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.


Return to Index

Last Modified 2 Mar 1999