Quando un'applicazione viene mandata in esecuzione, si crea un processo nella memoria di sistema. Ciascun processo dispone in esclusiva dei propri file, estensioni DLL, di tutti i dati presenti in memoria, e dei propri thread. Ogni processo è suddiviso in singoli thread, ed ogni thread dispone di un gruppo di registri nel processore e di una parte dello spazio di indirizzamento. Quando l'applicazione viene terminata, i thread vengono chiusi e la memoria viene liberata, rilasciando anche il possesso dei file e dei DLL.