Non puoi sapere, e su un sistema multi-core entrambi i processi possono essere eseguiti simultaneamente (su diversi core). Nota che preemption (e interruttori di contesto ) può accadere in qualsiasi tempo (anche" nel mezzo "di un'istruzione C, compilata su una dozzina di codice macchina instruzioni), sia su un sistema single-core (molto raro oggi) o multi-core, perché interrompe facendo in modo che le interruzioni di contesto e di contesto vengano eseguite con qualsiasi istruzione di codice macchina.
(dovresti pensare come (quando fork
ha esito positivo) sia genitore che figlio eseguono esattamente simultaneamente ; ciò che sta effettivamente accadendo è un dettaglio poco importante e di difficile osservazione da implementare )
Leggi wikipage su fork , poi leggi attentamente pagina man forcella (2) . Leggi anche Advanced Linux Programming che ha diversi capitoli su forking e processi. Leggi anche signal (7) e segnale di sicurezza (7) . Su Linux, esegui cat /proc/interrupts
alcune volte (leggi proc (5) ) per capire quanto spesso avvengono gli switch di contesto (di solito ogni millisecondi).
Leggi anche Sistemi operativi: tre pezzi facili .