Gestione del processore

Da Wikiversità, l'università aperta.
Stubby
Questa lezione è solo un abbozzo. Se puoi contribuisci adesso a migliorarla secondo le convenzioni di Wikiversità.
Per l'elenco completo degli stub, vedi la relativa categoria
lezione
Gestione del processore
Tipo di risorsa Tipo: lezione
Materia di appartenenza Materia: Sistemi operativi
Programma Programma: [[{{{programma1}}}]]
Programma Programma: [[{{{programma2}}}]]
Programma Programma: [[{{{programma3}}}]]
Programma Programma: [[{{{programma4}}}]]

Il processore, o unità centrale di elaborazione (o CPU, dall'inglese Central Processing Unit), è una risorsa hardware la cui gestione presenta due problemi:

  • In ogni momento, più task possono essere pronti per l'esecuzione, ma solo uno può essere eseguito da un processore; pertanto, occorre decidere quale task eseguire, facendo attendere gli altri. È compito del sistema operativo anche gestire la comunicazione tra processi ed evitare i tempi morti.
  • Quando è in esecuzione il sistema operativo, il processore deve poter accedere a tutte le risorse dell'elaboratore; ma, per assicurare l'integrità del sistema, quando è in esecuzione un programma applicativo, il processore deve poter eseguire solo le operazioni consentite dal sistema operativo. Pertanto, occorre fare in modo che il processore funzioni in due modalità: modalità supervisore o modalità utente:
    • Nella modalità utente il processore esegue il codice di un utente.
    • Nella modalità supervisore (detta anche modalità kernel) il processore esegue il codice del sistema operativo. La CPU passa automaticamente in questa modalità quando avviene un interrupt. Le istruzioni di I/O sono istruzioni privilegiate e possono essere eseguite solamente in questa modalità, pertanto non possono essere gestite direttamente dai programmi. Per questo motivo quando un programma vuole eseguire un'operazione di I/O effettua una chiamata di sistema, ovvero richiede al sistema operativo di effettuare una certa operazione di I/O. Il sistema operativo controlla che i parametri passati siano legali e corretti ed in tal caso gestisce l'I/O.