Vai alla Home Page About me Courseware Federica Living Library Federica Federica Podstudio Virtual Campus 3D Le Miniguide all'orientamento Gli eBook di Federica La Corte in Rete
 
I corsi di Ingegneria
 
Il Corso Le lezioni del Corso La Cattedra
 
Materiali di approfondimento Risorse Web Il Podcast di questa lezione

Antonino Mazzeo » 5.Gestione dei processi


Sommario

  • Definizione di processo
  • Stati di un processo
  • Descrittore di un processo
  • Code dei processi
  • Cambio di contesto

Definizione di un processo

Programma

  • E’ la codifica di un algoritmo in un opportuno linguaggio di programmazione che ne rende possibile l’esecuzione da parte di un elaboratore.
  • E’ una descrizione statica delle elaborazioni da eseguire.

Processo

  • E’ l’unità base di esecuzione del SO che identifica le attività dell’elaboratore relative ad una specifica esecuzione di un programma
  • Un processo è un programma in esecuzione.
    E’ una entità dinamica (programma + stato di esecuzione).

Processi differenti possono eseguire più istanze di uno stesso programma.

Stati di un processo

Durante la sua esecuzione, un processo è soggetto a transizioni di stato definite

  • dall’attività corrente del processo
  • da eventi esterni asincroni con la sua esecuzione

In prima approssimazione, un processo può essere caratterizzato da due stati.

Ma in un sistema monoprocessore risulta necessario distinguere tra processo pronto e processo in esecuzione (Modello a tre stati).
Se si considera anche la presenza di swapping si ha un Modello più generale.

Schema modello a due/tre stati

Schema modello a due/tre stati


Descrittore di un processo

Ad ogni processso è associata una struttura dati, denominata Descrittore del processo (PCB- Process Control Block).

I descrittori sono a loro volta organizzati in una tabella dei processi (Process Table).

Le informazioni da registrare nel descrittore possono essere così classificate:

  • Nome del Processo
  • Stato del processo
  • Modalità di servizio (ad es. priorità, deadline)
  • Informazioni sulla gestione della memoria
  • Contesto del processo (reg. del processore)
  • Utilizzo delle risorse
  • Identificatore del processo successivo

Code di processi

  • In un sistema monoprocessore ad ogni istante un solo processo è in esecuzione, mentre gli altri sono o bloccati o pronti per essere eseguiti
  • I processi presenti nella memoria principale che sono pronti per essere eseguiti sono organizzati in una (o più) code (code dei processi pronti)
  • Il componente del SO che è responsabile di selezionare un processo dalla coda dei processi pronti e di farlo transitare nello stato di esecuzione è denominato schedulatore di breve termine (BT) o schedulatore della CPU
Schema esplicativo (code)

Schema esplicativo (code)


Cambio di contesto

  • L’insieme di operazioni eseguite per il prerilascio di un processo in esecuzione a favore di un nuovo processo scelto nella coda dei processi pronti si chiama cambiamento di contesto (context switch).
  • Avviene a seguito di ….
    • Timeout, Interruzioni di I/O, Memory fault, Trap, System call
  • Il cambiamento di contesto è il risultato dell’esecuzione di tre procedure distinte del S.O..
    • Procedure Salvataggio_stato
    • Procedure Scheduling_CPU
    • Procedure Ripristino_stato

Prossima lezione

Gestione dei processi nei sistemi operativi Unix/Linux e Windows

I materiali di supporto della lezione

P. Ancilotti, M.Boari, A. Ciampolini, G. Lipari, “Sistemi Operativi”, Mc-Graw-Hill (Cap.2)

A. Silbershatz, G. Gagne, "Sistemi Operativi" (sesta edizione), Addison-Wesley (Cap. 4)

W. Stallings, “Operating Systems : Internals and Design Principles (5th Edition) ”, Prentice Hall (Cap. 3)

Gestione dei processi

  • Contenuti protetti da Creative Commons
  • Feed RSS
  • Condividi su FriendFeed
  • Condividi su Facebook
  • Segnala su Twitter
  • Condividi su LinkedIn
Progetto "Campus Virtuale" dell'Università degli Studi di Napoli Federico II, realizzato con il cofinanziamento dell'Unione europea. Asse V - Società dell'informazione - Obiettivo Operativo 5.1 e-Government ed e-Inclusion