Skip to content
Back to the collection

A fork() in the road

Andrew Baumann, Jonathan Appavoo, Orran Krieger, Timothy Roscoe

2019 · Proceedings of the Workshop on Hot Topics in Operating Systems

Read the paper
HN score
0
Mentions
4
Readers
4
Months
4
What’s in a score?

In the conversation

Original HN comments, with labels from simple text rules. A label describes the whole comment and may miss context or irony. Read the discussion to make up your own mind. About the labels

4 selected excerpts · 4 total mentions

delta_p_delta_x
Neutral mention · rule
> As opposed to object-oriented interfaces like for example Windows NT, which allows for elegant shells like PowerShell. Now let the downvotes flow in… No downvote from me! I always found UNIX's everything-is-a-bag-of-bytes to be a huge pain, and file descriptors even worse. This is a hard pill to swallow for many *nix die-hards, but I would say that objectively speaking, Windows NT has a better core OS model than Unix-like OSs, including the driver model, the filesystem API, the process management API[1], and the overall plug-and-play-ness of NT. [1]: The OP article mentions this paper by Microsoft Research, but claims it doesn't offer alternatives—it does. It explicitly mentions posix_spawn and CreateProcess. https://dx.doi.org/10.1145/3317550.3321435
pjmlp
Neutral mention · rule
My dear HN newbie, I have used more UNIXes in my life that you probably know about. Some education for you about fork(), https://dl.acm.org/doi/10.1145/3317550.3321435 https://thorstenball.com/blog/2014/10/13/why-threads-cant-fo...
chubot
Neutral mention · rule
It seems like this 2019 paper covers this point, and the content in the gist? I was expecting to see a reference to it A fork() in the road https://dl.acm.org/doi/abs/10.1145/3317550.3321435 Discussed at the time: https://news.ycombinator.com/item?id=19621799 Although it does say that vfork() is difficult to use safely, while the gist recommends it? I think there is still some clarity needed around the use cases. Fork today is a convenient API for a single-threaded process with a small memory footprint and simple memory layout that requires fine-grained control over the execution environment of its children but does not need to be strongly isolated from them. In other…
Read the full comment
words, a shell. It’s no surprise that the Unix shell was the first program to fork [69], nor that defenders of fork point to shells as the prime example of its elegance [4, 7]. However, most modern programs are not shells. Is it still a good idea to optimise the OS API for the shell’s convenience?
OldHand2018
Neutral mention · rule
This paper [1] argues that fork needs to be deprecated in favor of posix_spawn() or other more modern solutions. It claims that, among many other reasons, that fork encourages overcommit and that programs such as Redis are extraordinarily constrained if overcommit is disabled - because of fork. [1] https://dl.acm.org/doi/10.1145/3317550.3321435

Keep following the thread.

More in Other research

More from the same topics.