Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    text
    copied!<p>The key to this matter is the historical usage of both systems, I think. Windows (and DOS before that) have originally been single-user systems for <em>personal</em> computers. As such, these systems typically don't have to create a lot of processes all the time; (very) simply put, a process is only created when this one lonely user requests it (and we humans don't operate very fast, relatively speaking).</p> <p>Unix-based systems have originally been multi-user systems and servers. Especially for the latter it is not uncommon to have processes (e.g. mail or http daemons) that split off processes to handle specific jobs (e.g. taking care of one incoming connection). An important factor in doing this is the cheap <code>fork</code> method (that, as mentioned by Rob Walker (<a href="https://stackoverflow.com/questions/47845/why-is-creating-a-new-process-more-expensive-on-windows-than-linux#47865">47865</a>), initially uses the same memory for the newly created process) which is very useful as the new process immediately has all the information it needs.</p> <p>It is clear that at least historically the need for Unix-based systems to have fast process creation is far greater than for Windows systems. I think this is still the case because Unix-based systems are still very process oriented, while Windows, due to its history, has probably been more thread oriented (threads being useful to make responsive applications).</p> <p>Disclaimer: I'm by no means an expert on this matter, so forgive me if I got it wrong.</p>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload