Sto studiando parte "Threads" con un libro di testo, concetti di sistema operativo scritti da Abraham Silberschatz, Peter, Greg.
In primo luogo, ho intenzione di dire qualcosa nel libro di testo relativo alla mia domanda, e quindi di porre la domanda. Se qualcuno già conosce la seguente teoria, salta alla mia domanda, per favore.
Il libro ha definito il parallelismo e la concorrenza come segue:
La concorrenza supporta più di un'attività che progredisce.
Esecuzione simultanea su sistema single-core:
Parallelismoimplicacheunsistemapuòeseguirepiùdiunaattivitàcontemporaneamente.
Parallelismosuunsistemamulti-core:
Modello many-to-one : la concorrenza vera non viene acquisita perché il kernel può pianificare solo un thread alla volta.
Modelloone-to-one:forniscepiùconcorrenzarispettoalmodellomolti-a-uno."
Lamiadomandaè:perchélaconcorrenzanonvieneacquisitanelmodellomolti-a-unoeperchéilmodelloone-to-oneoffrepiùconcorrenzadimolti-a-onemodel.
Pensochelaperformancedelmodello"molti a uno non sia ottenuta, ma penso che la concorrenza sia 4 volte più grande del singolo thread. Inoltre, il modello one-to-one offre una concorrenza 4 volte maggiore rispetto a un singolo thread (come per il modello molti-a-uno ). Inoltre, il parallelismo è 4 volte migliore del modello molti-a-uno nelle architetture multi-processore.
La mia conclusione è che il libro di testo è stato scritto erroneamente. Quindi dovrebbe essere cambiato come segue
Modello many-to-one : la concorrenza viene migliorata fino al numero di thread utente, ma le prestazioni non vengono acquisite perché il kernel può pianificare solo un thread alla volta.
Modello one-to-one : la concorrenza è migliorata fino al numero di thread utente e anche le prestazioni sono migliorate fino al numero di processori.
Il mio pensiero è giusto o sbagliato? Grazie per la lettura.