erlug
[Top] [All Lists]

Re: [Erlug] Preemptive kernel e SDL

To: erlug@xxxxxxxxxxxxxx
Subject: Re: [Erlug] Preemptive kernel e SDL
From: Andrea Scrimieri <scrimieri@xxxxxxxxx>
Date: Sat, 21 Sep 2002 12:29:39 +0200 (CEST)
On Sat, 21 Sep 2002, Enzo wrote:

>
> > Ah, un domanda sola, :-)
> > ma cosa fa di preciso che fa un kernel pre-emptive?
>      ^^^^ ^^
> oops!
> s/cosa fa/cos'è/

Riguarda l'algoritmo di scheduling.
Con un kernel non preemptive un processo in esecuzione (per esecuzione
intendo che ha l'utilizzo della CPU in quel momento) prosegue fino a
quando non rilascia spontaneamente la CPU e la riassegnazione della CPU
avviene solo se un processo commuta dallo stato di esecuzione a sospeso
(richiesta di operazione di I/O, semafori, ecc.) oppure se il processo
termina.

Con i kernel preemptive un processo puo' perdere il controllo della CPU
anche se e' logicamente in grado di proseguire. La riassegnazione della
CPU puo' avvenire oltre che per per i due motivi nel caso di kernel non
preemptive anche quando un processo passa dallo stato di esecuzione a
pronto (ad esempio a seguito dell'elaborazione di un interrupt) oppure
passa dallo stato di sospeso a pronto (ad esempio per il completamento di
un'operazione di I/O).

Dovrebbe limitare ulteriormente la starvation (il fenomeno che penalizza
fortemente i processi a bassa priorita' che di fatto posso essere
accantonati per "troppo" tempo) e aumentare soprattutto la responsiveness.

Ciao,
Andrea


__________________________
Andrea Scrimieri
Aspirante fancazzista

"I cattivi hanno sicuramente capito qualcosa che i buoni ignorano."
                -- Woody Allen


<Prev in Thread] Current Thread [Next in Thread>