Re: [kernel] Preemptive o no?
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!
--
Matteo Buferli
Studente iscritto all'universita di Scienze Informatiche (BO)
WebPage: http://buferli.com
Blog: http://blog.buferli.com
DevelGroup: http://crisidev.org
HW: Macbook Core2Duo
Reply to: