Gestione dei Processi Flashcards
Qual è la differenza tra programma e processo
Un programma è la codifica di un algoritmo in un linguaggio di programmazione, che ne rende possibile l’esecuzione da parte di un elaboratore (descrizione statica)
Un Processo è l’unità base di esecuzione del SO, che identifica le attività dell’elaboratore relative ad una specifica esecuzione di un programma (entità dinamica - programma + stato di esecuzione)
Cosa sono gli stati di un processo
Lo stato di un processo rappresenta un’astrazione del suo stato di esecuzione
Durante la sua esecuzione, un processo è soggetto a transizioni di stato definite
Cosa si intende per scheduling?
Lo scheduling è l’azione che compie il processore nello scegliere a quale processo in stato di pronto assegnare lo stato di esecuzione
Cosa si intende per swapping?
Lo swapping è quando un processo presente in memoria principale viene temporaneamente spostato in memoria secondaria in modo da liberare spazio ad altri processi
Cos’è lo stato Zombie?
Lo stato Zombie è lo stato in cui un processo si trova nello stato terminato ma non può ancora essere eliminato perché la sua immagine di memoria è ancora necessaria
Descrivi un modello generale di stati di un processo
Cos’è il PCB e la Process Table?
PCB sta per Process Control Block, ovvero è una struttura dati descrittore del processo
La Process Table è la tabella in cui sono organizzati vari PCB
Com’è suddiviso un PCB in UNIX
Il PCB in UNIX è suddiviso in:
-Process Structure: contiene informazioni indispensabili per la gestione del processo (anche se in stato swapped)
-U-Area: contiene le informazioni per gestire il processo solo quando risiede in memoria
Cos’è il context switch e quando avviene
Il context switch è l’insieme di operazioni eseguite dal SO per il prerilascio di un processo in esecuzione a favore di un altro nella cosa dei processi pronti
Avviene a seguito di :
-Timeout (quanto di tempo scaduto)
-Interruzioni I/O
-Memory fault (indirizzo in memoria non valido)
-Errori o Eccezioni
-System Call