Process Concepts: Division of Labor

The multitasking capabilities of Windows 98 depend on the system’s handling of processes and threads. Both terms designate ways of dividing labor in the operating system. The term process refers to an executable program and all of the program’s resources as it runs in the system:

Every process has at least one thread of execution—one path the processor follows through its code. A process can also choose to divide its work into several tasks and create separate threads for each one. Multitasking happens when one machine runs several programs at once; multithreading happens when one program runs several threads at once. The Process Manager creates and destroys processes and their threads. It also suspends threads and resumes them.

Preemptive versus Permissive Multitasking

The simple difference between Windows 98 and Windows NT is that Windows NT—like OS/2— uses a preemptive multitasking system while Windows 98 exercises permissive multitasking.

In a preemptive multitasking system (Windows NT or OS/2), the operating system summarily suspends executing threads to allow other threads an appropriate time slice for operation.

In a permissive multitasking system (Windows 98), the operating system depends on the applications to regularly relinquish control of the operating system so other applications have the opportunity to gain their time slices.

Obviously, a preemptive multitasking system has the ability to provide much smoother execution of multiple tasks and threads. This type of system does not need to depend on the good graces of each program (or the skills of the respective programmers) in surrendering control of the CPU.

For permissive multitasking, all applications and all threads within an application must be well behaved and regularly relinquish control to permit other applications and other threads access to the CPU.

© 1998 SYBEX Inc. All rights reserved.