Resource sharing

In Chapter 10, Process Creation, we repeatedly pointed out that although the fork(2) system call is very powerful and useful, it's considered to be a heavyweight operation; performing the fork takes a lot of CPU cycles (and thus time) and is expensive in terms of memory (RAM), too. Computer scientists were looking for a way to lighten this; the result, as you have guessed, is the thread.

Hang on, though: for the convenience of the reader, we reproduce a diagram—The Linux process – inheritance and non-inheritance across the fork()—from Chapter 10, Process Creation:

Figure 1: The Linux process inheritance and non-inheritance ...

Get Hands-On System Programming with Linux now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.