Or CreateProcess(), which has a lot to do with microsoft.
Or CreateProcess(), which has a lot to do with microsoft.
I think it's well-known that Windows NT took a lot of ideas from VMS.
https://en.wikipedia.org/wiki/Dave_Cutler https://docs.microsoft.com/en-us/windows/desktop/api/process... https://www.itec.suny.edu/scsys/vms/OVMSDOC073/v73/5932/5932... http://www.itec.suny.edu/scsys/vms/OVMSDOC073/v73/5841/5841p...
I don't think we should ever forget how MS behaved through the mid 2000s. But we don't live in that world anymore, they aren't (capable of being) that company anymore, and I think we're at a point where dismissing research because of a connection to MS is not protecting anyone from anything.
Has the old theory that "Windows NT" aka "WNT" = "VMS + 1" ever been proved or disproved?
(https://americanhistory.si.edu/collections/search/object/nma... the Smithsonian has early design docs with the original name on the spine).
You can use the posix_spawn function in glibc, which uses a vfork or clone syscall just like on Linux.
https://mobile.twitter.com/RichFelker/status/602313979894038...
"Rich Felker, May 24, 2015: Some interesting preliminary timing of @musllibc 's posix_spawn vs fork+exec shows it ~25x faster for large parent processes. (~360us vs 9ms). #glibc has a vfork-based posix_spawn but it's only usable for trivial cases; others use fork. @musllibc posix_spawn always uses CLONE_VM. This also means @musllibc posix_spawn will fill the fork gap on NOMMU systems cleanly/safely (unlike vfork) once we get NOMMU working."
Also evilotto's post here:
https://news.ycombinator.com/item?id=19622477
"a 100mb process generally takes >2ms to fork, while a 1mb or less process takes 70us"