Bifurcación (sistema operativo)

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 concreto del sistema operativo UNIX, la llamada al sistema fork permite realizar una bifurcación de este tipo. Esta llamada devuelve el PID del proceso hijo al padre y un 0 al hijo.

Aquí hay un ejemplo escrito en lenguaje de programación C que muestra el uso de esta llamada. El código en las secciones proceso hijo y proceso padre se ejecuta simultáneamente.

   int pid;
 
   pid = fork();
 
   if(pid == 0)
   {
      /* Proceso hijo:
       * Cuando fork() devuelve 0, estamos en
       * el proceso hijo.
       * Aquí contamos hasta diez, uno cada segundo.
       */
      int j;
      for(j=0; j < 10; j++)
      {
         printf("hijo: %d\n", j);
         sleep(1);
      }
      _exit(0); /* nota: exit en lugar de _exit */
   }
   else if(pid > 0)
   { 
      /* Proceso padre:
       * Sino estamos en el proceso padre.
       * De nuevo contamos hasta diez.
       */
      int i;
      for(i=0; i < 10; i++)
      {
         printf("padre: %d\n", i);
         sleep(1);
      }
   }
   else
   {   
      /* ha ocurrido un error. */
      fprintf(stderr, "no se ha podido bifurcar");
      exit(1);
   }

Este código imprimirá:

 padre: 0
 hijo: 0
 hijo: 1
 padre: 1
 padre: 2
 hijo: 2
 hijo: 3
 padre: 3
 padre: 4
 hijo: 4
 hijo: 5
 padre: 5
 padre: 6
 hijo: 6
 hijo: 7
 padre: 7
 padre: 8
 hijo: 8
 hijo: 9
 padre: 9

El orden de la salida será determinada por diversos parámetros del núcleo del sistema operativo.

Obtenido de "Bifurcaci%C3%B3n (sistema operativo)"

Wikimedia foundation. 2010.

Игры ⚽ Нужно сделать НИР?

Mira otros diccionarios:

  • Bifurcación — (del latín bifurcus, ahorquillado) es la acción de separar algo en varias partes;[1] más específicamente se puede referir a: Matemáticas La Teoría de bifurcaciones, estudia los cambios en la estructura cualitativa o topológica de una familia… …   Wikipedia Español

  • Bifurcación (informática) — Una bifurcación o fork, cuando se aplica en el contexto de un lenguaje de programación o un sistema operativo, hace referencia a que un programa crea una copia de sí mismo, que entonces actúa como un proceso hijo del proceso originario, ahora… …   Enciclopedia Universal

  • Wait — es una llamada al sistema del sistema operativo UNIX, estandarizada en POSIX (y otros). pid t wait(int *status) Permite a un proceso padre esperar hasta que termine un proceso hijo. El entero apuntado por el argumento status será actualizado con… …   Wikipedia Español

  • Mac OS — (del inglés Macintosh Operating System, en español Sistema Operativo de Macintosh) es el nombre del sistema operativo creado por Apple para su línea de computadoras Macintosh. Es conocido por haber sido el primer sistema dirigido al gran público… …   Wikipedia Español

  • IBM 1130 — Consola IBM 1130, en proceso de restauración. El Sistema de Computación IBM 1130 fue introducido en 1965.[1] Era el equipo menos caro de IBM, y apuntaba al mercado de bajo costo de computación técnica intensiva, como la ingeniería y la educación …   Wikipedia Español

  • X Window System — en GNOME 2.20. Logotipo de X Window System X Windo …   Wikipedia Español

  • IBM System/3 — Un IBM System/3 con una perforadora de tarjetas en exhibición en el Olmsted County Historical Society Museum en Rochester, Minnesota …   Wikipedia Español

  • Inkscape — 0.46 …   Wikipedia Español

  • Forth — Saltar a navegación, búsqueda Para otros usos de este término, véase Forth (desambiguación). Forth o FORTH es un lenguaje de programación para computadores y un ambiente de programación ideado por Charles H. Moore y Elisabeth Rather entre los… …   Wikipedia Español

  • Linux (núcleo) — Saltar a navegación, búsqueda Para otros usos de este término, véase Linux (desambiguación). Linux …   Wikipedia Español

Compartir el artículo y extractos

Link directo
Do a right-click on the link above
and select “Copy Link”