Aplikacje przeznaczone dla środowiska Windows były nadal uruchamiane w trybie wielozadaniowości kooperatywnej, a każda była umieszczona w odrębnym środowisku.

Środowiska Windows 3.0 (rok wydania 1990) i Windows 3.1 (rok 1992) znacznie usprawniły wyżej opisane mechanizmy, głównie dzięki wykorzystywaniu pamięci wirtualnej i ładowanych do pamięci sterowników urządzeń wirtualnych (VxD), które zezwalały poszczególnym oknom DOS uruchomionym w wielozadaniowości wspólne korzystanie z umownych urządzeń. Dzięki tym rozwiązaniom aplikacje Windows mogły być uruchamiane w 16-bitowym trybie chronionym (zarówno gdy środowisko Windows działało w trybie standardowym, jak i rozszerzonym trybie procesorów 386), otrzymując dostęp do kilkunastu megabajtów pamięci operacyjnej, były też zwolnione z konieczności korzystania z systemu pamięci wirtualnej obsługiwanego programowo. Nadal działały we wspólnej przestrzeni adresowej, gdzie były częściowo chronione przez funkcję segmentacji pamięci, a ich wykonywanie odbywało się w trybie wielozadaniowości kooperacyjnej.