Bifurcación (sistema operativo)
# Bifurcación (sistema operativo)

    Este artículo se refiere a la bifurcación de procesos en sistemas operativos, consulta Bifurcación (informática) para otros usos.

Una bifurcación o fork, cuando se aplica en el contexto de un lenguaje de programación o un sistema operativo, hace referencia a la creación de una copia de sí mismo por parte de un programa, que entonces actúa como un "proceso hijo" del proceso originario, ahora llamado "padre". Los procesos resultantes son idénticos, salvo que tienen distinto número de proceso (PID).

Más generalmente, una bifurcación en un entorno multihilo significa que un hilo de ejecución se bifurca.

## UNIX

En el caso de los sistemas operativos derivados de UNIX, la llamada al sistema fork permite realizar una bifurcación del proceso. Esta llamada devuelve el identificador de proceso del proceso hijo al padre y un 0 al proceso hijo.

Aquí hay un ejemplo escrito en lenguaje de programación C que muestra el uso de esta llamada. El código que se ejecute depende de si el proceso es padre o hijo.

Este código imprimirá:

El orden de la salida será determinada por diversos parámetros del núcleo del sistema operativo. Como se puede observar, el valor contenido en la variable idPropio es compartido por proceso padre e hijo; sin embargo, la referencia a la variable no es la misma y su posterior modificación en cada código, ya sea del padre o del hijo, no se verá reflejada en ambos procesos.

