Po teoriji fork bi trebao da radi sledeće (AFAIK):
0. Nađe dovoljnu veliku parčad memorije i zauzme je
1. Napravi kopije DATA, STACK i CODE segmenata
2. Napravi kopije CPU registara
3. Izmeni neke podatke da imaju smisla - uglavnom vrednosti CPU registara vezane za pozicije gorepomenutih segmenata i status registre IIRC.
I nastavlja da izvršava gde je "tata" stao, tj prva asemblerska instrukcija nakon poziva fork-a.
Disclamer: Sve ovo je mnogo jasnije nekom ko je imao arhitekturu računara, konkuretno programiranje i operativne sisteme kao predmete na faxu.
|