1.2.1 Multi-threaded process structure

A significant feature of Win32 is the introduction of a multi-threaded process structure. A Win32 process has:

An address space that is protected and that has access to up to 2GB of virtual memory.

Multiple threads of execution exist within the process. Each thread has its own stack and machine state. On MP systems running Windows NT, multiple threads may execute at the same time but on different processors.

In order to support the Win32 process structure a small set of extensions must be added to Win32. The extensions can be classified as:

Support for process and thread creation and manipulation.

Support for synchronization between threads within a process and synchronization objects that can be shared by multiple processes to allow synchronization between threads whose processes have access to the synchronization objects.

A uniform sharing mechanism that provides security features that limit/control the sharing of objects between processes.