A fork() in the road
Andrew Baumann Microsoft Research Jonathan Appavoo Boston University Orran Krieger Boston University Timothy Roscoe ETH Zurich
A fork() in the road Andrew Baumann Jonathan Appavoo Orran Krieger - - PowerPoint PPT Presentation
A fork() in the road Andrew Baumann Jonathan Appavoo Orran Krieger Timothy Roscoe Microsoft Research Boston University Boston University ETH Zurich Motivation Weve first -hand experience of many research OSes L4, Wanda, Nemesis,
Andrew Baumann Microsoft Research Jonathan Appavoo Boston University Orran Krieger Boston University Timothy Roscoe ETH Zurich
L4, Wanda, Nemesis, Mungi, Hurricane, Tornado, K42, Barrelfish, Drawbridge …
…
Kernel OS libraries Other libraries Language runtime Application Hardware Server
1 2Who would accept fork() today?
5 10 15 20 25 50 100 150 200 250
Time (ms)
Parent process size (MiB) fork + exec (fragmented) fork + exec (dirty) posix_spawn 0.5ms
So Ken, where did fork come from anyway?
Unix designers credit Project Genie (Berkeley, 1964-68)
“The fork operation, essentially as we implemented it, was present in the GENIE time-sharing system” [Ritchie & Thompson, CACM 1974]
For implementation expedience [Ritchie, 1979]