Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Fork has always been a mutant feature. Split the entire process into twins? So that the caller can immediately exec() and discard the tediously-cloned twin and become a different program? Its the most egregiously inefficient feature ever to grace an operating system. Page tables, stacks, heap allocations, file handles - all cloned and then discarded.


In this Regard, Redis is the first system using it the proper way I guess ;-) I mean, all this copying is not discarded but used to create a point-in-time snapshot.


No, every Unix command shell uses the copied program and file descriptors.


Though these days it's worth noting that much of that is COW, cutting down the actual copying (at the expense of some bookkeeping). There's certainly still needless work, however.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: