From 4512628d19409474a37c29e82947f74e9a4ac80b Mon Sep 17 00:00:00 2001 From: Simone Piccardi Date: Thu, 10 Jan 2002 18:33:49 +0000 Subject: [PATCH 1/1] Corretta figura e sistemata la footnote su chi parte prima dopo una fork --- img/task_struct.dia | Bin 4918 -> 4925 bytes prochand.tex | 19 ++++++++++--------- 2 files changed, 10 insertions(+), 9 deletions(-) diff --git a/img/task_struct.dia b/img/task_struct.dia index b9f28f6d6b715c8fd863a2124a92417fa21a311f..2095decf67de4f2cbf435679b077ef16a435871c 100644 GIT binary patch delta 4209 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 F0RZ|6xBLJA diff --git a/prochand.tex b/prochand.tex index da69143..70d7eb1 100644 --- a/prochand.tex +++ b/prochand.tex @@ -437,15 +437,16 @@ Go to next child Esaminiamo questo risultato: una prima conclusione che si può trarre è non si può dire quale processo fra il padre ed il figlio venga eseguito per -primo\footnote{anche se nel kernel 2.4.x era stato introdotto un meccanismo - che metteva in esecuzione sempre il xxx per primo (TODO recuperare le - informazioni esatte)} dopo la chiamata a \func{fork}; dall'esempio si può -notare infatti come nei primi due cicli sia stato eseguito per primo il padre -(con la stampa del \acr{pid} del nuovo processo) per poi passare -all'esecuzione del figlio (completata con i due avvisi di esecuzione ed -uscita), e tornare all'esecuzione del padre (con la stampa del passaggio al -ciclo successivo), mentre la terza volta è stato prima eseguito il figlio -(fino alla conclusione) e poi il padre. +primo\footnote{a partire dal kernel 2.5.2-pre10 è stato introdotto il nuovo + scheduler di Ingo Molnar che esegue sempre per primo il figlio; per + mantenere la portabilità è opportuno non fare comunque affidamento su questo + comportamento} dopo la chiamata a \func{fork}; dall'esempio si può notare +infatti come nei primi due cicli sia stato eseguito per primo il padre (con la +stampa del \acr{pid} del nuovo processo) per poi passare all'esecuzione del +figlio (completata con i due avvisi di esecuzione ed uscita), e tornare +all'esecuzione del padre (con la stampa del passaggio al ciclo successivo), +mentre la terza volta è stato prima eseguito il figlio (fino alla conclusione) +e poi il padre. In generale l'ordine di esecuzione dipenderà, oltre che dall'algoritmo di scheduling usato dal kernel, dalla particolare situazione in si trova la -- 2.30.2