Fork (systemanrop)

Från Rilpedia

Hoppa till: navigering, sök
Wikipedia_letter_w.pngTexten från svenska WikipediaWikipedialogo_12pt.gif
rpsv.header.diskuteraikon2.gif

fork är ett centralt systemanrop i unixliknande system. Systemanropet skapar en ny process som en kopia av den anropande processen (moderprocessen). Detta är det sätt på vilket nya proceser skapas i Unix.

Systemanropet har olika varianter, dels för att minska arbetet med att dubblera processens minnesrymd, dels för skapande av trådar. Den förra aspekten är mer eller mindre betydelselös på modern datorhårdvara, då de båda processerna kan använda samma kopia av minnet, och bara de minnesblock till vilken barnprosessen skriver behöver kopieras (engelska copy on write).

Barnet har precis samma egenskaper som sin moder, förutom att det bland annat har ett annat processid. I de fall barnprocessen skall utföra ett annat program kommer barnprocessen att kalla systemanropet exec efter att ha konstaterat sig vara barnprocess och modifierat omgivningen till behövliga delar.


Personliga verktyg