Sobes.tech
Junior — Middle

Vysvětlete, co je proces fork v operačním systému Linux a jak funguje.

sobes.tech AI

Odpověď od AI

V Linuxu je proces fork (fork) systémový volání, které vytváří nový proces kopírováním aktuálního (rodičovského) procesu. Nový proces se nazývá potomek a zpočátku je přesnou kopií rodiče, včetně paměti, proměnných a stavu běhu.

Fungování fork:

  • Rodič volá fork()
  • Operační systém vytvoří nový proces s novým PID
  • Potomek obdrží kopii adresního prostoru rodiče (v moderních systémech se používá copy-on-write pro optimalizaci)
  • Po volání fork() oba procesy pokračují ve vykonávání od bodu volání fork(), ale fork() vrací 0 v potomkovi a PID potomka v rodiči.

To umožňuje vytváření paralelních procesů pro vykonávání různých úkolů.