Matteo Buferli ha scritto:    
On Thursday 29 March 2007 21:45, Franco Rossi wrote:

   
Ciao,
sto ricompilando dei kernel, ora,non mi è perchè il preemtive è consigliato
solo sui desktop, e non sui server? In teoria non dovrebbe apportare
benefici in termini di prestazioni sia ai desktop sia ai server?

   
Ciao,
allora, riportando un po di definizioni da wikipedia per evitare errori:

La prelazione è l'atto di interrompere un programma a prescindere dalla 
volontà del programma stesso, ciò avviene grazie a delle particolari 
strutture hardware integrate nel microprocessore che automatizzano il cambio 
di contesto (context switch): in questo caso non solo lo scheduler interviene 
nelle circostanze previste da uno scheduler senza prelazione, ma anche in 
casi quali:

    * il passaggio di un programma dallo stato di esecuzione allo stato di 
pronto per essere eseguito;
    * il passaggio di un programma dallo stato di attesa allo stato di pronto 
per essere eseguito;

Un desktop innanzi tutto ha molti piu' processi di un server (questo in linea 
di massima, ovviamente), quando si parla di offrire servizi a una 
molteciplita di utenti (server) io preferirei optare per context switch 
classici e non per migliore le prestazioni, interrompendo magari in modo 
anomalo e non previsto un demone piuttosto che un processo, per guadagnare 
qualche frazione di ms totale di computazione, ma magari creando o apportando 
anomalie non previste. 

Ovviamente tutto cio' e' solo un consiglio che chi ha scritto il kernel ti 
da.. tu ovviamente puoi compilare un kernel preemptive anche su una macchina 
server e probabilmente non succedera' niente..

Se ho detto cavolate, correggetemi!
Ciao!

  
Grazie,
però, riporto da questa pagina
http://it.wikipedia.org/wiki/Multitasking_preemptive

/************ inizio citazione
Multitasking senza prelazione (cooperative) Detto anche multitasking 
cooperative, in questo caso i programmi cedono volontariamente il controllo al 
sistema operativo una volta finita l'operazione in corso: è il caso di Mac OS 
fino alla versione 9, o di Windows 3.0 e 3.1. Il vantaggio maggiore di questo 
metodo è che non ha bisogno di supporto hardware e si può implementare su ogni 
tipo di architettura. Il grave svantaggio è che un singolo programma che si 
rifiuta di cedere il controllo, o che si ferma per qualche errore, può bloccare 
l'intero computer in quanto il sistema operativo non ha modo di riprendere il 
controllo da solo. Più precisamente lo scheduler senza prelazione attua un 
cambio di contesto solo in circostanze quali:
 
   il passaggio di un programma dallo stato di esecuzione allo stato di attesa;
   il termine del programma stesso;
/*******Fine citazione

Quello che ho messo in grassetto, mi lascia alquanto sconcertato e non mi 
sembra accettabile su un sistema desktop, figuriamoci in un sistema server.
Se fosse in qualche modo anomalo.. non sarebbe nel ramo stabile del kernel, 
no..? sbaglio? :-)
Ciao, e grazie


                
---------------------------------
 L'email della prossima generazione? Puoi averla con la  nuova Yahoo! Mail

Rispondere a