Domyślnie (oprócz systemów NT 3.x) każdy następny program Win16 uruchamiany jest w już działającym procesie Win16 uruchomionym przez pierwszy program Win16 (w związku z tym używa tej samej przestrzeni adresowej, a maszyna Win16 przyznaje każdemu programowi jego własny wątek). Możliwe jest również uruchamianie programu Win16 w oddzielnej maszynie wirtualnej, co umożliwia jego szeregowanie z wywłaszczaniem, gdyż Windows wywłaszcza wtedy cały proces maszyny wirtualnej, który zawiera tylko jeden uruchomiony program — w systemie NT 3.x było to rozwiązanie domyślne, ale w NT 4.0 i nowszych Microsoft to zmienił, ponieważ uruchamianie odrębnej maszyny Win16 zużywało więcej czasu (konieczność uprzedniego uruchomienia maszyny wirtualnej DOS, a potem maszyny Win16) i pamięci. Podsystem OS/2 umożliwia uruchamianie 16-bitowych, działających w trybie znakowym programów dla systemu OS/2 i emuluje OS/2 1.x. Nie udostępnia natomiast trybu 32-bitowego i środowiska graficznego dla OS/2 2.x i nowszych. Podsystem środowiska POSIX umożliwia uruchamianie aplikacji, które ściśle przestrzegają standardu POSIX.1, lub związanych z nim standardów ISO/IEC.