To install click the Add extension button. That's it.

The source code for the WIKI 2 extension is being checked by specialists of the Mozilla Foundation, Google, and Apple. You could also do it yourself at any point in time.

4,5
Kelly Slayton
Congratulations on this excellent venture… what a great idea!
Alexander Grigorievskiy
I use WIKI 2 every day and almost forgot how the original Wikipedia looks like.
What we do. Every page goes through several hundred of perfecting techniques; in live mode. Quite the same Wikipedia. Just better.
.
Leo
Newton
Brights
Milds

Bifurcación (sistema operativo)

De Wikipedia, la enciclopedia libre

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.

YouTube Encyclopedic

  • 1/3
    Views:
    1 934
    527
    1 156
  • BOMBAS ESPECIALES / MANGUERAS / PIEZAS INTERMEDIAS / LANZAS
  • Definicion: Bomba Fork
  • TUTORIAL - RENOMBRADO DE SERIES Y PELÍCULAS PARA PLEX Y XBMC EN ESPAÑOL 2016

Transcription

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.

#include <stdio.h> 
#include <unistd.h> 
#include <sys/types.h> 
int main(void) { 
	pid_t idHijo;
	pid_t idPropio;
	idPropio = getpid(); //Se obtiene el id del proceso actual
	idHijo = fork(); //Se crea un proceso 'hijo'
	if (idHijo == -1) { //Si hay un código menor que cero, hubo un error
		printf("Error al realizar la bifurcación"); //Se notifica al usuario
		return 1; //Se interrumpe la ejecución del proceso con una salida distinta a cero
	} 
	if (idHijo == 0) //la ejecución de la llamada al sistema fork devuelve un cero al proceso 'hijo'
		printf("Soy el hijo con id %ld id proceso original %ld\n", (long)getpid(), (long)idPropio); 
	else //la ejecución de la llamada al sistema fork devuelve el identificador al proceso 'padre'
		printf("Soy el padre con id %ld id proceso original %ld\n", (long)getpid(), (long)idPropio); 
	return 0; 
}

Este código imprimirá:


Soy el padre con id 1 id proceso original 1
Soy el hijo con id 2 id proceso original 1

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.

Véase también

Esta página se editó por última vez el 28 ago 2022 a las 13:29.
Basis of this page is in Wikipedia. Text is available under the CC BY-SA 3.0 Unported License. Non-text media are available under their specified licenses. Wikipedia® is a registered trademark of the Wikimedia Foundation, Inc. WIKI 2 is an independent company and has no affiliation with Wikimedia Foundation.