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

I am pretty sure Mac OS doesn't COW fork(), and that the address space is copied. At least it was the last time I looked. FreeBSD and Linux both seem to COW.

Perhaps there's a reason vfork is different too.



My (very possibly wrong) understanding is that xnu does CoW fork but doesn't overcommit, meaning that memory must be reserved (perhaps in swap) in case the pages need to be duplicated.

There's other complications relating to inheriting Mach ports and the mach_task <-> BSD process "duality" in xnu, which Linux doesn't have. I'd love for someone to chime in who knows more about how this stuff works.


Hopefully someone at Apple will see this post and be convinced to restore vfork() and un-obsolete it.




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

Search: