Ho una domanda riguardante l'implementazione di pthread su Linux.come sono i pthread su linux visti dallo scheduler
Supponiamo che un processo abbia 5 thread. Ora, come lo scheduler vede questi thread (o non vede affatto). ad es. Quando viene richiamato lo scheduler, pianifica solo il processo principale, e quindi l'onere del processo principale da pianificare tra ciascun thread.
Oppure è l'altro modo, che lo schedulatore pianifica ogni thread come se fosse un processo separato.
In tal caso, il processo che ha creato i thread deve essere attivato dal contesto. È così? –
@Ganesh non necessariamente. Il nuovo thread potrebbe essere eseguito su un core differente. Ma sì, su un dato core che passa da un thread all'altro, se nello stesso processo o non incorre in un cambio di contesto. Passare a un thread nello stesso processo potrebbe essere più economico rispetto a passare a un thread in un altro processo poiché potrebbe non essere necessario invalidare la tabella delle pagine, ecc. –