Please enable JavaScript.
Coggle requires JavaScript to display documents.
gestione dei processi - Coggle Diagram
gestione dei processi
un processo si suddivide in stati
hold, il programma è stato proposto al sistema ed è in attesa di esecuzione e si trova su memoria secondaria
JCB job control block, contiene l'identificativo del programma, occupazione espressa in kilobyte, indirizzo di caricamento su memoria di massa, gli identificatori delle periferiche , il puntatore JCB successivo
ready, il programma è diventato processo e si trova in memoria centrale, pronto per essere eseguito
PCB process control block, contiene PID (process IDentifier) , lo stato in cui si trova il processo, il registro di salvataggio, indirizzo di caricamento in MC, identificatori delle periferiche, puntatore sui figli, puntatore su PCB successivo
run, il processo è in esecuzione, solo un processo alla volta
wait, il processo è in attesa, esempio attesa di I/O
end, il processo è terminato
lo schedulatore decide quale processo va assegnato alla CPU
per assegnare alla CPU deve essere imparziale, efficiente, tempo reale, tournaround, throughput, fairness
non preemptive
la CPU quando vuole assegnata al processo non può essere tolta fino a quando non termina o richiede un'operazione di I/O
FCFS First come First served, la CPU va assegnata al processo che si trova nella lista d'attesa da più tempo
SJF Shortest Job first, si assegna la CPU al processo con meno tempo di utilizzo della CPU prima di un'operazione di I/O
scheduling con priorità si assegna la cpu al processo con la priorità più alta
preemptive
la CPU può essere tolta dal processo anche quando è in esecuzione
round robin il processore viene assegnato a turno per un intervallo di tempo il time- slice
round robin a percentuale di tempo, più I/O ha con il metodo precedente più è svantaggiato qui va in base a quanta percentuale di CPU ha utilizzato nel suo time-slice
round robin limitato il processo ha un certo numero di time-slice quando ha finito i suoi turni va in una lista ready 2 e deve attendere che la lista ready 1 finisca
un programma è un'insieme statico di istruzioni, entità passiva che descrive le azioni da compiere
il processo è un'entita attiva che rappresenta l'esecuzione delle azioni nel programma,
a un processo va assegnato il tempo di CPU e la memoria di cui necessita per eseguire le istruzioni del programma
i moduli del kernel per assegnare la cpu ai vari processi
schedatore dei lavori, che seleziona quali programmi caricare in memoria centrale... diventano dei processi
schedulatore dei processi, decide quali processi creati assegnare alla cpu
controllore del traffico, controlla l'avanzamento dei processi e la gestione delle transizioni da uno stato all'altro
gestore delle interruzioni, gestisce i vari tipi di interrupt
gestore delle procedure di sincronizzazione e comunicazione, servono allo scambio dei dati e informazioni tra processi
per ottimizzare le risorse ogni processo può essere diviso in sotto processi detti thread e che possono essere eseguiti in maniera indipendente
priorità statica a ogni processo viene assegnata una priorità in fase di generazione, per la presunta durata di esecuzione
priorità dinamica il sistema operativo modifica la priorità in base al tempo di utilizzo della CPU ai processi che lasciano la CPU prima dello scadere del tempo viene aumentata la priorità