La rappresentazione dei processi
In un sistema multiprogrammato, mentre viene eseguito un processo cambia stato:
L’effettiva denominazione degli stati dipende dal sistema.
Per poter effettuare correttamente il passaggio tra gli stati di un processo, il sistema operativo deve salvare una serie di informazioni in un opportuna struttura dati conservata nel kernel:
Process Control Block
La struttuta del PCB dipende dall’architettura e dal S.O. !!
Il sistema operativo mantiene un puntatore ad ogni PCB in opportune
Process table
Le process table sono di utente o generali per il sistema
Quando un processo è terminato, il sistema operativo rimuove il processo dalla Process Table e libera le risorse
In figura è mostrato lo schema di funzionamento della Process Table.
In un sistema operativo (monoprocessore) c’è sempre un solo processo in esecuzione.
Gli altri processi sono conservati in opportune code.
Ready queue (Coda dei processi pronti) — Insieme di tutti i processi pronti ed in attesa di esecuzione, che risiedono i memoria centrale.
I/O queue (Coda dei dispositivi) — Insieme di processi in attesa per un dispositivo di I/O.
Le PCB dei processi si “spostano” fra le varie code.
In figura è mostrato lo schema di funzionamento delle code dei dispositivi (queue).
Quando la CPU passa da un processo all’altro, il sistema deve salvare lo stato del vecchio processo e caricare lo stato precedentemente salvato per il nuovo processo.
Il sistema non lavora utilmente mentre cambia contesto.
Il tempo di context–switch è un sovraccarico per il sistema e dipende dal supporto hardware
In figura è mostrato lo schema descrittivo del Context Switch.
In figura è mostrato lo schema di funzionamento del Context Switch.
Un opportuno programma decide quale tra i processi nella ready queue deve utilizzare la CPU
SCHEDULER
Scheduler a breve termine (o scheduler della CPU) :
In figura è illustrato lo schema di funzionamento dello scheduler a breve termine.
Scheduler a lungo termine (o scheduler dei job):
Scheduler a medio termine (swapper ):
In figura è illustrato lo schema di funzionamento e interrelazione tra scheduler a breve e medio termine.
OBIETTIVO
Avere sempre processi presenti nelle code dei processi pronti e dei dispositivi
Operazioni sui processi
1. Storia ed evoluzione dei sistemi operativi
2. Struttura dei sistemi operativi
3. Interazione tra hardware e sistemi operativi
4. La rappresentazione dei processi
6. I Thread
7. Lo scheduling dei processi: introduzione e primi esempi
9. La sincronizzazione dei processi
10. I semafori
11. Allocazione contigua dei processi in memoria centrale
12. Allocazione non contigua dei processi in memoria centrale
14. Gli algoritmi di avvicendamento delle pagine
16. I sistemi RAID
17. L'organizzazione logica dei file system
18. L'organizzazione fisica dei file system
1. Storia ed evoluzione dei sistemi operativi
2. Struttura dei sistemi operativi
3. Interazione tra hardware e sistemi operativi
4. La rappresentazione dei processi
6. I Thread
7. Lo scheduling dei processi: introduzione e primi esempi
9. La sincronizzazione dei processi
10. I semafori
11. Allocazione contigua dei processi in memoria centrale
12. Allocazione non contigua dei processi in memoria centrale
16. I sistemi RAID
17. L'organizzazione logica dei file system
18. L'organizzazione fisica dei file system
I podcast del corso sono disponibili anche su iTunesU e tramite Feed RSS.