Fork? Jakoś nie widzę zastosowania, stwarza trochę problemów a i specjalnie lekki nie jest. Windows ma thready, fibery, completion porty jako mechanizm przetwarzania równoległego, zamiast ręcznego zarządzania pulą wątków. Problem w tym, że dobrze użyte wątki na Windows spięte z completion portami przebijają wydajnością wszystko, co można na Linuksie stworzyć. Od dawna pojawiają się głosy żeby podobne mechanizmy w Linuksie dodać, w końcu mamy XXI w. a nie średniowiecze, ale taki zawodnik zostaje zakrzyczany...
Co do tego, czy Windows posiada fork
to sprawa jest dosyć skomplikowana. Owszem, jak najbardziej posiada, forka
z prawdziwego zdarzenia... ale posiada go Windows NT, nie podsystem Windows. To po prostu odpowiednio użyty NtCreateProcess
, tak więc fork
z podsystemu POSIX
nie jest wcale emulowany, działa dokładnie tak jak powinien.
Windows NT od początku był projektowany do wykonywania operacji asynchronicznie, ba, na poziomie kernela całe I/O jest asynchroniczne, co najwyżej z waitem na końcu.