[Linuxtrent] Re: Boot Mandrake 10 Official

  • From: airwood <airwood65@xxxxxxxxxxx>
  • To: linuxtrent@xxxxxxxxxxxxx
  • Date: Sat, 29 May 2004 12:44:17 +0200

Matteo Ianeselli ha scritto:

Il gio, 2004-05-27 alle 13:24, airwood65 ha scritto:


Qual'e' la differenza tra "Linux" e "Linux Smp"?


In breve: "Linux" è un kernel per le macchine con una CPU sola, mentre
"Linux Smp" è un kernel per le macchine con più di una CPU.

SMP = (s)ymmetric (m)ulti(p)rocessing, e indica architetture con più CPU
che concorrono tra loro alla pari all'esecuzione del codice e alla
supervisione delle operazioni di I/O.

Meno in breve:

Il multitasking su una CPU sola fornisce solo l'impressione che più cose
avvengano contemporaneamente: in realtà il kernel tira avanti tutti i
processi un poco per volta, ma passando molto rapidamente da un processo
all'altro così da dare l'impressione che tutti vadano avanti
contemporaneamente. E se la CPU è una sola, un pezzo di codice qualsiasi
può assumere in perfetta sicurezza che mentre è in funzione lui non ci
sono altri a modificare le cose in giro senza che lui lo sappia.

Con due o più CPU il discorso cambia: un pezzo di codice non può più
fare l'assunzione di cui sopra, perché ci potrebbe essere dell'altro
codice su un'altra CPU che va a toccare risorse che sta usando lui in
quel momento. Per cui occorre implementare tutta una serie di lock per
impedire che tutti parlino assieme e che non ci si capisca più nulla.

Ora: tutto il codice relativo ai lock (e a problemi sul come assegnare i
vari processi alle varie CPU) è perfettamente inutile se si ha una CPU
sola; anzi, probabilmente consuma tempo macchina per niente (non tanto,
ma più di zero). In Linux (il kernel) il supporto per più CPU è
opzionale, e se non viene incluso come opzione di compilazione, tutto il
codice di cui sopra vien lasciato fuori, ottenendone un kernel più
piccolino e un poco più efficente. Notare che moduli del kernel
compilati col supporto SMP non sono compatibili con kernel senza il
supporto, e viceversa.

Per analogia: in un monologo si può fare a meno del moderatore, mentre
nei dibattiti no.

Peraltro, un kernel col supporto SMP funziona comunque anche con una CPU
sola (anche se in maniera meno efficiente), e kernel senza supporto SMP
dovrebbero funzionare anche su macchine con più di una CPU, solo che ne
viene usata una sola (era vero una volta, ora non so).

Grazie dell'escursus.
Comunque Mandrake appena installato parte con SMP. Il che' non e' il massimo visto che il 90 percento delle macchine "home" ha un solo processore. Chissa' perche' lo hanno messo in cima alla lista del LILO...
Ciao


AIRWOOD



--
Per iscriversi  (o disiscriversi), basta spedire un  messaggio con OGGETTO
"subscribe" (o "unsubscribe") a mailto:linuxtrent-request@xxxxxxxxxxxxx


Other related posts: