[Tech] Dormi bambino, dormi tesor... (C help)

Gianni Bianchini giannibi@firenze.linux.it
Mer 25 Ott 2000 13:12:13 CEST


On Wed, Oct 25, 2000 at 12:21:46PM +0200, Simone Piccardi wrote:

> > Vorrei sapere come non far fare proprio nulla alla CPU.
> Da user space non credo sia possibile.

> Lo puoi fare in kernel space, con uno spinlock, probabilmente un timer
> di questo tipo lo  puoi metter su con RTlinux o RTAI, non ti posso dire
> di piu' perche' su queste cose ci devo ancora mettere le mani.

In realtime linux puoi dichiarare un _kernel task_ come periodico
definendo l'istante di partenza e il periodo.
Quando il task ha terminato rilascia la CPU volontariamente fino al
prossimo quanto di tempo, quando il task verra' rieseguito.
In teoria cio' dovrebbe essere possibile anche in user space, ma solo
al prezzo di frequenti commutazioni di contesto e chiamate a sistema
(leggi cambiamento di livello di protezione), il che forse rende la
cosa "lenta" e poco utilizzabile.

Ciao.
Gianni.


--
   Gianni Bianchini - giannibi@firenze.linux.it
                      giannibi@iname.com





Maggiori informazioni sulla lista flug-tech