Sobes.tech
Junior — Middle

Wyjaśnij, czym jest proces fork w systemie operacyjnym Linux i jak on działa.

sobes.tech AI

Odpowiedź od AI

W systemie Linux proces fork (fork) to wywołanie systemowe, które tworzy nowy proces poprzez skopiowanie bieżącego (rodzica). Nowy proces nazywa się potomnym i początkowo jest dokładną kopią rodzica, w tym pamięci, zmiennych i stanu wykonania.

Działanie fork:

  • Rodzic wywołuje fork()
  • System operacyjny tworzy nowy proces z nowym PID
  • Proces potomny otrzymuje kopię przestrzeni adresowej rodzica (w nowoczesnych systemach stosuje się copy-on-write w celu optymalizacji)
  • Po wywołaniu fork() oba procesy kontynuują wykonywanie od punktu wywołania fork(), ale fork() zwraca 0 w procesie potomnym i PID procesu potomnego w rodzicu.

To umożliwia tworzenie równoległych procesów do wykonywania różnych zadań.