

















































Study with the several resources on Docsity
Earn points by helping other students or get them with a premium plan
Prepare for your exams
Study with the several resources on Docsity
Earn points to download
Earn points by helping other students or get them with a premium plan
Una introduzione al concetto di multitasking e ai concetti fondamentali di gestione dei processi in un sistema operativo. Viene descritto come il multitasking migliori la gestione del tempo CPU attraverso la contemporanea presenza di più programmi in memoria. Il documento copre il concetto di processo, lo stato dei processi, la schedulazione dei processi e i criteri di scheduling. Vengono presentate varie politiche di scheduling come FCFS, SJF e Round Robin.
Typology: Study notes
1 / 57
This page cannot be seen from the preview
Don't miss anything!


















































Il sistema operativo
La gestione del processore
Un programma è un insieme di file che contengono le istruzioni che un elaboratore deve eseguire per ottenere determinati risultati Un processo , invece, è un programma in esecuzione su un determinato elaboratore
l’ottimizzazione del tempo di CPU (ovvero il tempo speso dalla CPU nell’eseguire un determinato programma) avviene grazie alla multiprogrammazione cioè alla contemporanea presenza di più programmi in memoria
Un processo è costituito da una successione di fasi di elaborazione sulla CPU e fasi di attesa per l’esecuzione di operazioni su altre risorse del sistema (operazioni di I/O, di caricamento dati, colloquio con periferiche ecc.) che di fatto lasciano inattiva la CPU. Un processo è un’entità logica in evoluzione.
I sistemi operativi multitasking durante le fasi di attesa mandano in esecuzione sulla CPU altri programmi tra quelli caricati in memoria portano avanti in parallelo più processi, riducendo al minimo l’inattività della CPU e migliorando così l’efficienza del sistema (nr di programmi eseguiti per unità di tempo). Il parallelismo che si ottiene è virtuale (e non fisico) dato che il processore è uno solo
Noi prenderemo il singolo processo che possiamo dire essere costituiti da due parti:
L’insieme di tutti i dati di un processo prende anche il nome di contesto del processo varia istante per istante, a partire dal valore contenuto nel program counter
Inoltre i processi possono essere indipendenti oppure cooperare per raggiungere un medesimo obiettivo:
Oltre alla cooperazione esiste un’altra forma di interazione tra processi Due (o più) processi possono ostacolarsi a vicenda compromettendo il buon fine delle loro elaborazioni.
Stato di un processo Durante il ciclo di vita di un processo è possibile individuare un insieme di situazioni in cui il processo può trovarsi, che definiremo come gli stati di un processo associati alla sua evoluzione e alla sua “situazione” rispetto alla CPU Con stato di un processo intendiamo quindi una tra le cinque possibili situazioni in cui un processo in esecuzione può trovarsi può assumere una sola volta lo stato di nuovo e di terminato, mentre può essere per più volte negli altri tre stati.
quando gli manca una risorsa per poter evolvere e quindi sta aspettando che si verifichi un evento (per esempio che si liberi la risorsa che gli serve e che il processore gliela assegni)
pronto se ha tutte le risorse necessarie alla sua evoluzione tranne la CPU (cioè è il caso in cui sta aspettando che gli venga assegnato il suo time-slice di CPU)
il codice del processo è stato eseguito e quindi ha terminato l’esecuzione; il sistema operativo deve ora rilasciare le risorse che utilizzava.
il diagramma degli stati.