Concetti Chiave
- Un programma è un'entità statica composta da bit su disco, mentre un processo è dinamico e modifica lo stato della memoria e dei registri.
- Il processo ha uno stato di esecuzione determinato dai valori del Program Counter, dei registri utente e della memoria.
- Ogni processo ha una traccia di esecuzione, cioè una sequenza di stati assunti dal processore durante l'esecuzione.
- Il sistema operativo crea la struttura dati del processo, che inizia nello stato 'new' senza risorse assegnate.
- Il processo può evolvere in tre modi: completare l'esecuzione, essere interrotto o eseguire un'operazione I/O.
Programmi e processi
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.
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.