x tasks, such as heavy database queries, program compilation, and complex graphics processing.
Even though all three OSes use preemptive multitasking for 32-bit applications, only OS/2 Warp and Windows NT Workstation use it for older, 16-bit applications. Windows 95 uses cooperative multitasking for 16-bit DOS and Windows applications.
For preemptive multitasking to operate effectively requires a task-scheduling scheme, where the scheduler selectively dispatches and suspends multiple concurrent tasks. Cooperative multitasking relies on applications to relinquish control of the processor so that other applications get a turn. This means the applications are in control, not the OS.
The
multithreading
capability of today's 32-bit OSes provides more power than simple multitasking does. The OS can execute multiple tasks simultaneously, and it can
run multiple processes concurrently. The kernel breaks down tasks into singular processes and runs each process as a single thread. Interprocess communications (IPC) allows the different threads to talk with each other by passing data back and forth.
The real advantage of multithreading is that it makes it much easier to do multitasking. Multithreading allows programs to multitask within themselves. Applications that can benefit considerably from multithreading include background pagination and formatting, spell-checking, complex database searches, document control, and dual-channel communications.
illustration_link (3 Kbytes)
