| Attribute | fork | thread | clone | execve |
| Virtual Memory | ||||
|---|---|---|---|---|
| Code Segment | copy | shared | CLONE_VM | replaced |
| Const Data Segment | don't care | shared | CLONE_VM | replaced |
| Variable Data Segment | copy | shared | CLONE_VM | replaced |
| stack | copy | separate | CLONE_VM | replaced |
| mmap | copy | shared | CLONE_VM | replaced |
| brk | copy | shared | CLONE_VM | replaced |
| command line | copy | shared | CLONE_VM | replaced |
| environment | copy | shared | CLONE_VM | replaced |
| Files | ||||
| chroot, chdir, umask | copy | shared | CLONE_FS | copy |
| File descriptor table | copy | shared | CLONE_FILES | copy |
| file locks | separate | separate | CLONE_PID | same |
| Signals | ||||
| Signal Handlers | copy | shared | CLONE_SIGHAND | reset |
| Pending Signals | separate | separate | separate | reset |
| Signal masks | separate | separate | separate | reset |
| Process Id | different | different | CLONE_PID | same |
| timeslice | separate | shared | CLONE_PID | same |
2006-03-17