In computing, when a process forks, it creates a copy of itself, which is called a "child process." The original process is then called the "parent process". More generally, a fork in a multithreading environment means that a thread of execution is duplicated, creating a child thread from the parent thread.

PropertyValue
p:abstract
  • In computing, when a process forks, it creates a copy of itself, which is called a "child process." The original process is then called the "parent process". More generally, a fork in a multithreading environment means that a thread of execution is duplicated, creating a child thread from the parent thread. Under Unix and Unix-like operating systems, the parent and the child operations are selected by examining the return value of the fork system call. In the child process, the return value of fork is 0, whereas the return value in the parent process is the PID of the newly-created child process. The fork operation creates a separate address space for the child. The child process has an exact copy of all the memory segments of the parent process, though if copy-on-write semantics are implemented actual physical memory may not be assigned (i.e., both processes may share the same physical memory segments for a while). Both the parent and child processes possess the same code segments, but execute independently of each other. (en)
  • :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. (es)
  • Beim Systemaufruf Fork erzeugt der aktuelle Prozess eine Kopie von sich selbst, welche dann als sogenannter Kindprozess des erzeugenden Programmes dient. Der Kindprozess übernimmt die Daten, den Maschinencode und den Befehlszähler vom Elternprozess und erhält vom Betriebssystem (wie der Elternprozess und jeder andere Prozess auch) eine eigene Prozessnummer, die sogenannte PID (engl. "Process IDentifier"). In der Folge verwaltet das Betriebssystem den Kindprozess als eigenständige Instanz des Programms und führt ihn unabhängig vom Elternprozess aus. Ein Kindprozess arbeitet normalerweise nicht exakt wie der Elternprozess weiter, sondern enthält abweichende Anweisungen oder/und neue Einstellungen. An dem Rückgabewert von fork wird erkannt, in welchem Prozess man sich befindet. Liefert fork eine 0 zurück, kennzeichnet dies den Kindprozess, im Vaterprozess wird die PID des Kindes zurückgeliefert. Bei einem Fehler liefert fork einen Wert kleiner 0 und kein Kindprozess wurde erzeugt. (de)
  • fork(フォーク)は、UNIX系システムコールのひとつで、プロセスのコピーを生成するものである。新たに作り出されたプロセスを子プロセス、forkを呼び出したプロセスを親プロセスと呼ぶ。また、マルチスレッド環境でスレッドのコピーを作ることもforkと呼ぶことがある。 UNIX系オペレーティングシステムでは、forkシステムコールの戻り値によって親と子の処理を区別する。子プロセスではforkの戻り値は0であり、親プロセスの戻り値は新たに生成された子プロセスのプロセス識別子である。 forkが呼び出されると、子プロセスのためのアドレス空間が新たに作成される。子プロセスのアドレス空間には親プロセスが持っていた全セグメントのコピーがあるが、コピーオンライト機能によって実際の物理メモリの確保は遅延される。親プロセスと子プロセスは独立して実行される。 (ja)
  • В Unix-системах, fork — системный вызов, создающий новый (дочерний) процесс, идентичный выполняющему этот вызов. После вызова fork алгоритм обычно разветвляется (родительский процесс получает от fork PID дочернего, а дочерний получает нуль). После fork дочерний процесс чаще всего выполняет системный вызов exec, загружающий в пространство процесса новую программу (именно так, и только так, в Unix-системе выполняется запуск программы в отдельном процессе). Так, первый (нулевой) процесс Unix (ядро системы) создает свою копию, чтобы запустить init (процесс с PID = 1), который в свою очередь создает дочерние процессы для запуска инициализации системы и терминалов. Некоторые программы создают дочерние процессы не для запуска другой программы, а для выполнения параллельной задачи. Так, например, поступают простые сетевые серверы — при подсоединении клиента, сервер создает свою копию (дочерний процесс), которая обслуживает клиентское соединение и завершается по его закрытию. Родительский же процесс продолжает ожидать новых соединений. Вызов fork выполняется довольно долго, так как требует копирования большого количества данных. Для того чтобы это обойти, некоторые сетевые серверы (например, веб-серверы Apache и Lighttpd), создают дочерние процессы заранее, чтобы уменьшить время отклика сервера. Также существуют «облегченные» реализации fork, отображающие в новый процесс страницы памяти родительского, вместо того чтобы их копировать (новая страница создается только при изменении ее содержимого одним из процессов), что существенно снижает время создания нового процесса (т. н. copy-on-write). (ru)
p:hasPhotoCollection
p:manProperty
  • SUS (en)
  • create a new process (en)
  • fork (en)
  • sh (en)
p:thisProperty
p:wikiPageUsesTemplate
p:wikipage-de
p:wikipage-es
p:wikipage-ja
p:wikipage-ru
rdfs:comment
  • In computing, when a process forks, it creates a copy of itself, which is called a "child process." The original process is then called the "parent process". More generally, a fork in a multithreading environment means that a thread of execution is duplicated, creating a child thread from the parent thread. (en)
  • :Este artículo se refiere a la bifurcación de procesos en sistemas operativos, consulta Bifurcación (informática) para otros usos. (es)
  • Beim Systemaufruf Fork erzeugt der aktuelle Prozess eine Kopie von sich selbst, welche dann als sogenannter Kindprozess des erzeugenden Programmes dient. Der Kindprozess übernimmt die Daten, den Maschinencode und den Befehlszähler vom Elternprozess und erhält vom Betriebssystem (wie der Elternprozess und jeder andere Prozess auch) eine eigene Prozessnummer, die sogenannte PID (engl. "Process IDentifier"). (de)
  • fork(フォーク)は、UNIX系システムコールのひとつで、プロセスのコピーを生成するものである。新たに作り出されたプロセスを子プロセス、forkを呼び出したプロセスを親プロセスと呼ぶ。また、マルチスレッド環境でスレッドのコピーを作ることもforkと呼ぶことがある。 (ja)
  • В Unix-системах, fork — системный вызов, создающий новый (дочерний) процесс, идентичный выполняющему этот вызов. После вызова fork алгоритм обычно разветвляется (родительский процесс получает от fork PID дочернего, а дочерний получает нуль). (ru)
rdfs:label
  • Fork (operating system) (en)
  • Bifurcación (sistema operativo) (es)
  • Fork (Unix) (de)
  • Fork (ja)
  • Fork (ru)
skos:subject
foaf:page
p:disambiguates
p:redirect