Why Is It Called 'Fork'? — The Origin of the Term
The Story
In the Unix world, creating a new process is called “forking.” The fork() system call, designed by Dennis Ritchie at Bell Labs in the early 1970s, makes a child process that is an almost exact copy of the parent. From that moment onward, two identical processes diverge — like a fork in the road.
The name comes from the physical metaphor: one path splits into two. The Latin root furca means pitchfork, and by the 17th century English had adopted “fork” for anything that divides into branches — a fork in a river, a fork in the road, a dinner fork’s tines.
Dennis Ritchie’s genius was in making fork() incredibly simple. The call returns twice — once in the parent with the child’s process ID, and once in the child with zero. That single system call became the foundation of Unix multitasking.
How It Evolved
The fork metaphor expanded far beyond process creation. In version control, forking a repository creates an independent copy where developers can experiment without affecting the original. GitHub made “forking” the primary mechanism for open-source contribution in the 2000s.
In blockchain, a “hard fork” splits a cryptocurrency into two separate chains — exactly like a fork in the road where both paths continue independently. Bitcoin Cash forked from Bitcoin in 2017.
The dining metaphor also survives: a dinner fork has multiple tines from a single handle, just as a software fork creates multiple paths from a single origin.
Did You Know?
The classic fork() + exec() pattern in Unix splits the creation of a new process into two steps: fork() copies the current process, then exec() replaces it with a new program. This two-step dance is unique to Unix and its descendants.
FAQ
Related Etymologies
Why Is It Called 'Bug'? Why Is It Called 'Kernel'?
Built by the developers of DodaTech
Doda Browser, DodaZIP & Durga Antivirus Pro