• T4CH
  • NEWS
  • VIDEO
Forum > Software

Thread a livello kernel e a livello nucleo

Discussione inserita in 'Software' da franci_ff, 27 Marzo 2009.

  1. franci_ff techNewbie

    Thread a livello kernel e a livello nucleo

    Salve a tutto il forum.

    Mi potete risolvere questo piccolo dubbio per favore?

    Immaginiamo uno schema molti a uno per la gestione dei thread in un sistema operativo.

    Sui testi si dice che se un thread a livello utente fa una system call BLOCCANTE allora l'intero processo viene bloccato e non si possono eseguire altri thread... e questo mi sembra ragionevole dal momento che il S.O. non sa gestire i thread. Il dubbio è ma se un thread esegue una system call NON BLOCCANTE perchè l'intero processo non si blocca, anche se il nucleo non sa gestire i thread? Non dovrebbe bloccarsi l'intero processo come nel caso precedente?

    Mi va bene anche una spiegazione concettuale.



    Inoltre volevo sapere un'altra cosa. Si sa che in un sistema multitask ci sono i diversi processi che si contendono la CPU secondo le politiche di scheduling implementate.

    Ma allora anche un processo di sistema, come ad esempio le funzioni del kernel per gestire la memoria virtuale vengono intercalate con l'esecuzione degli altri processi oppure no? Nel senso se si richiede un servizio del kernel come ad esempio la scelta del blocco di memoria da assegnare al processo corrente è possibile interrompere questo servizio e schedulare un nuovo processo oppure di solito i servizi del kernel vengono eseguiti fino alla fine in quanto processi critici? (escludo ovviamente le interrupt da parte dei dispositivi).

    Grazie mille.
    franci_ff, 27 Marzo 2009
    #1
Password dimenticata?
SU TERMINI DI SERVIZIO CONTATTACI