Gestione processi in sistemi multicore?

di il
2 risposte

Gestione processi in sistemi multicore?

Salve, non mi è chiara una cosa sulla gestione dei prcessi nei sistemi multi-core.
Sappiamo che in un sistema con una cpu ad 1 core, i processi vengono visti in coda, e lo scheduler si occupa di dare priorità ad ogni processo in sequenza, ma se ci troviamo in un sistema multi-core, ad esempio con una cpu quad-core, cosa cambia?
Da quanto ho capito io, è lo stesso identico ragionamento, solo che vengono mandate avanti 4 code di processi contemporaneamente, invece che solo una. E' così?

P.S. Scusatemi se non e' la sezione più adatta, ma non sapevo dove altro chiederlo

2 Risposte

  • Re: Gestione processi in sistemi multicore?

    La cosa e' piu' banale:

    Il S.O. ha il compito di gestire i processi e le relative priorita' (associate ai processi).
    Ogni processo manda in esecuzione uno o piu' thread. La priorita' dei thread e' decisa dal processo.

    A questo punto lo scheduler hal il compito di schedulare l'esecuzione di tutti i thread esistenti nel sistema e risolve la cosa in modo banale:

    se ha un solo core, ci sara' un solo thread effettivamente in esecuzione in ogni momento.
    se di core ce ne sono 2 ... 64 ..., ci saranno 2 ... 64 ... thread effettivamente in esecuzione.

    Naturalmente, quali thread mandaee in esecuzione dipende dalla priorita' del processo PIU dalla priorita' del thread all'interno del processo.

    Ovviamente questa e' la spiegazione semplice
  • Re: Gestione processi in sistemi multicore?

    Grazie mille, ora mi è più chiaro
Devi accedere o registrarti per scrivere nel forum
2 risposte