Concetti Chiave

  • Un programma è un'entità statica memorizzata su disco, mentre un processo è dinamico e modifica lo stato della memoria e dei registri.
  • Il processo ha uno stato di esecuzione definito da elementi come il Program Counter e i registri utente.
  • Ad un processo sono associati codice, area dati e risorse necessarie per l'esecuzione.
  • La vita di un processo è caratterizzata da stati come 'new', 'ready' e 'running', con transizioni tra di essi determinate dal sistema operativo.
  • In ambienti di time sharing, un processo può completare l'esecuzione, essere interrotto o attendere il completamento di operazioni di I/O.

Differenza tra programma e processo

Un programma, è un insieme di bit collocati in un file su disco : non cambia nel tempo, non modifica lo stato della memoria : è quindi un' entità statica.

Un processo è un entità dinamica: modifica lo stato della memoria e dei registri.

Quindi si potrebbe dire che: 1) un processo è un'entità dinamica il cui stato di esecuzione è determinato dai valori assunti dal Program Counter , dai registri utente , dalla memoria;

2)ha una traccia di esecuzione, definita come la sequenza di stati assunti dal processore durante l'esecuzione del processo ;

3) Ad un processo sono associati il codice,un 'area dati e le altre risorse ad esso assegnate.

Stati e transizioni di un processo

per capire la vita di un processo bisogna esaminare la sequenza di stati che assume e i relativi cambiamenti o transizioni di stato. Il Sistema Operativo crea la struttura dati che rappresenta il processo , ma non assegna ad esso alcuna risorsa : il processo si trova nello stato new( nuovo ).
Quando il sistema operativo assegna al processo le risorse richieste e le colloca in memoria si trova nello stato di ready (pronto )..

Quando il sistema operativo assegna ad esso il processore , il processo passa nello stato running (esecuzione )..

Se il processo sta girando in un ambiente time sharing a questo punto l'evoluzione del processo può seguire 3 strade diverse:

1) il processo completa la sua esecuzione e cede il controllo al S.O.

2)la gestione dell'interruzione causa l'intervento del S.O. che mette il processo interrotto nello stato ready;

3)il processo esegue un'operazione di I/O e ne deve attendere il completamento.

Domande da interrogazione

  1. Qual è la principale differenza tra un programma e un processo?
  2. Un programma è un'entità statica, un insieme di bit in un file su disco che non cambia nel tempo, mentre un processo è un'entità dinamica che modifica lo stato della memoria e dei registri (come descritto nel testo).

  3. Quali sono gli stati principali che un processo può assumere durante la sua vita?
  4. Un processo può trovarsi negli stati di new (nuovo), ready (pronto) e running (esecuzione), a seconda delle risorse assegnate e della gestione del sistema operativo (come spiegato nel testo).

  5. Cosa succede a un processo in esecuzione in un ambiente time sharing?
  6. In un ambiente time sharing, un processo in esecuzione può completare la sua esecuzione, essere interrotto dal sistema operativo e tornare nello stato ready, oppure eseguire un'operazione di I/O e attendere il completamento (come indicato nel testo).

Domande e risposte

Hai bisogno di aiuto?
Chiedi alla community