La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Il nucleo del Sistema Operativo

Presentazioni simili


Presentazione sul tema: "Il nucleo del Sistema Operativo"— Transcript della presentazione:

1 Il nucleo del Sistema Operativo
Kernel HW

2 La Contesa della CPU La CPU è la componente più costosa e più importante di un computer Tutti i programmi necessitano della CPU per essere eseguiti ma la CPU è in genere unica Esiste un meccanismo di “contesa” della CPU È quindi molto importante quel modulo del S.O. che organizza la modalità con cui la CPU viene assegnata ai programmi

3 Compiti del Kernel Decidere a chi assegnare la CPU Assegnare la CPU
Le funzioni del “nucleo” di un S.O. sono: Aggiornare lo “Stato” della CPU. Decidere a chi assegnare la CPU Assegnare la CPU Rilasciare la CPU SDAR

4 Configurazione hardware
Sui PC la configurazione HW più frequente è: Sistema multiprogrammabile. Cpu Unica Più processori dedicati di i/o (controller usb, hdmi, lan, wifi….) Più periferiche standard (mouse, printer, video…) Più memorie di massa (hdd, dvd…)

5 Processo Algoritmo = istruzioni organizzate e scritte che l’elaboratore deve eseguire secondo un certo ordine. Processo = fase di esecuzione dell’algoritmo a cui sono assegnate le risorse che egli chiede (cpu, ram, video, tastiera, mouse…)

6 Stati di un processo

7 Diagramma degli stati

8 Liste Nel Kernel esistono delle “liste” per ogni possibile stato di un processo In ogni lista ci sono indicati tutti i processi che si trovano nella specifica condizione Per esempio questa è la lista dei “ready”: 3156 1021 1022 3150 2040 2041 2045 1007

9 Kernel La gestione dei processi è affidata ad una serie di programmi che: Costituiscono il kernel Sono sempre caricati e residenti in memoria centrale.

10 Programmi del Kernel Job scheduler: si occupa di selezionare un lavoro dalle liste. Process scheduler : sceglie il processo che potrà usare la cpu Traffic controller: sposta i processi e aggiorna le liste Interrupt manager: segnala alla cpu lo scambio di processi Sincronizzazione : permette la comunicazione tra processi.

11 Job scheduler Quando un lavoro viene richiesto dall’utente, viene messo nello stato HOLD (in un file speciale sul hdd) Lo Schedulatore accede alla lista degli hold in cui ogni lavoro (job) è identificato da un numero (JCB job control block) Ammissione: al momento opportuno lo Schedulatore dei lavori lo selezionerà tra gli altri per portarlo in memoria centrale passando allo stato READY. Lista ready job Hdd Lista hold

12 Job scheduler (JS) Lo JS preleva un lavoro dalla lista hold su disco fisso e lo manda in memoria nella lista dei ready.

13 JCB = job control block Identificativo del programma
Il jcb contiene informazioni su: Identificativo del programma Occupazione in memoria (KB) Indirizzo sulla memoria di massa Identificativo periferica Puntatore allo JCB successivo

14 Traffic controller Il Controllore del traffico elimina il JCB dalla lista degli hold e crea un PCB (process control block) nella lista dei ready. 3156 1021 1022 3150 2040 2041 2045 1007 1009

15 PCB = process control block
Informazioni nel PCB PID, numero progressivo che identifica un processo ID del padre (il PCB che puntava ed esso) Il puntatore ai figli Lo stato del processo (ready, run…) Registro di salvataggio Indirizzo in memoria centrale Identificatore periferica File aperti

16 From ready to run (dispatching)
Quando la cpu è libera il Process Scheduler (PS) sceglie un processo ready da mandare alla cpu il Traffic Controller (TC) modifica il campo “stato” in “run” A B C H L

17 Uscita dallo stato run HDD (ready) Ci sono 3 eventi che portano a liberare la CPU da un processo e sono: Il processo chiede i/o processo Lista dei running Il processo ha terminato È scaduto il Time slice

18 Stato end Il passaggio allo stato end è detto “terminazione”.
Viene cancellato il suo PCB Viene liberata la memoria PCB 07 PCB 84 LISTA DEI READY (IN RAM)

19 Ritorno allo stato di ready o wait
Se viene esaurito il time slice il processo viene rimesso in coda alla cpu nello stato ready Se invece il processo chiede un i/o allora viene messo in attesa del device (wait), dopo aver utilizzato la risorsa i/o viene riportato in coda ready.


Scaricare ppt "Il nucleo del Sistema Operativo"

Presentazioni simili


Annunci Google