di GAD » 22/07/06 20:29
Non si tratta di dividere il singolo processo ma differenti processi. Forse ho sviato nell'usare la parola processo, e' meglio parlare di "applicazione".
Se lanci due applicazioni differenti con un dual core o un multiprocessore il sistema operativo stesso fa automaticamente in modo di assegnare l'applicazione al processore che attualmente e' meno impegnato.
Se si parla di singola applicazione gestita in multithread aviene la stessa cosa, il thread secondario viene assegnato alla cpu che ha meno carico in quel momento senza dover configurare niente.
Ora se si considera l'attuale stato delle applicazioni che sono abbastanza monolitiche il guadagno e' minimo (al max un processore elaborerà i processi del sistema operativo e l'altro lavorerà sull'applicativo monolitico con un guadagno del 30%)
Pensando all'architettura dei nuovi sistemi operativi pero' ,ad esempio vista e i vari linux dove la gestione del sistema e' ben differenziata dalla gestione delle interfacce grafiche shell, si avrà un notevole guadagno.
Anche gli applicativi presi singolarmente (ove possibile) stanno passando al multithread quindi il guadagno sarà ancora superiore. Ad esempio word in cui un processore terrà su l'applicativo mentre l'altro effettuerà la correzione automatica degli errori (ovviado alle solite inchiodate che spesso provoca ora).
Cmq questo non lo dico io, basta andare a leggere qualsiasi articolo di settore per leggere che i produttori di cpu si stanno lanciando sui multiprocessori 2x e 4x e conseguentemente anche le applicazioni stanno subendo la trasformazione in multithread dove e' possibile sfruttarla.
Quando l'ultimo albero sarà abbattuto,l'ultimo pesce catturato,l'ultimo fiume avvelenato,
soltanto allora gli uomini si accorgeranno chei soldi non possono essere mangiati