+ All Categories
Home > Documents > Kernel Il nucleo del Sistema Operativo HW. La Contesa della CPU La CPU è la componente più costosa...

Kernel Il nucleo del Sistema Operativo HW. La Contesa della CPU La CPU è la componente più costosa...

Date post: 02-May-2015
Category:
Upload: flavio-federici
View: 215 times
Download: 0 times
Share this document with a friend
19
Kernel Kernel Il nucleo del Sistema Operativo HW
Transcript
Page 1: Kernel Il nucleo del Sistema Operativo HW. La Contesa della CPU La CPU è la componente più costosa e più importante di un computer Tutti i programmi necessitano.

Kernel

Kernel

Kernel

Kernel

Il nucleo delSistema Operativo

HWHW

Page 2: Kernel Il nucleo del Sistema Operativo HW. La Contesa della CPU La CPU è la componente più costosa e più importante di un computer Tutti i programmi necessitano.

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

Page 3: Kernel Il nucleo del Sistema Operativo HW. La Contesa della CPU La CPU è la componente più costosa e più importante di un computer Tutti i programmi necessitano.

Compiti del Kernel

Le funzioni del “nucleo” di un S.O. sono:

1. Aggiornare lo “Stato” della CPU.

2. Decidere a chi assegnare la CPU

3. Assegnare la CPU

4. Rilasciare la CPU

Page 4: Kernel Il nucleo del Sistema Operativo HW. La Contesa della CPU La CPU è la componente più costosa e più importante di un computer Tutti i programmi necessitano.

Configurazione hardware

Sui PC la configurazione HW più frequente è:

1. Sistema multiprogrammabile.2. Cpu Unica 3. Più processori dedicati di i/o (controller usb,

hdmi, lan, wifi….)4. Più periferiche standard (mouse, printer, video…)5. Più memorie di massa (hdd, dvd…)

Page 5: Kernel Il nucleo del Sistema Operativo HW. La Contesa della CPU La CPU è la componente più costosa e più importante di un computer Tutti i programmi necessitano.

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…)

Page 6: Kernel Il nucleo del Sistema Operativo HW. La Contesa della CPU La CPU è la componente più costosa e più importante di un computer Tutti i programmi necessitano.

Stati di un processo

Page 7: Kernel Il nucleo del Sistema Operativo HW. La Contesa della CPU La CPU è la componente più costosa e più importante di un computer Tutti i programmi necessitano.

Diagramma degli stati

Page 8: Kernel Il nucleo del Sistema Operativo HW. La Contesa della CPU La CPU è la componente più costosa e più importante di un computer Tutti i programmi necessitano.

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

Page 9: Kernel Il nucleo del Sistema Operativo HW. La Contesa della CPU La CPU è la componente più costosa e più importante di un computer Tutti i programmi necessitano.

Kernel

La gestione dei processi è affidata ad una serie di

programmi che:

• Costituiscono il kernel• Sono sempre caricati e residenti in memoria centrale.

Page 10: Kernel Il nucleo del Sistema Operativo HW. La Contesa della CPU La CPU è la componente più costosa e più importante di un computer Tutti i programmi necessitano.

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.

Page 11: Kernel Il nucleo del Sistema Operativo HW. La Contesa della CPU La CPU è la componente più costosa e più importante di un computer Tutti i programmi necessitano.

Job scheduler

1. Quando un lavoro viene richiesto dall’utente, viene messo nello stato HOLD (in un file speciale sul hdd)

2. Lo Schedulatore accede alla lista degli hold in cui ogni lavoro (job) è identificato da un numero (JCB job control block)

3. Ammissione: al momento opportuno lo Schedulatore dei lavori lo selezionerà tra gli altri per portarlo in memoria centrale passando allo stato READY.

HddLista hold

Lista ready

job

Page 12: Kernel Il nucleo del Sistema Operativo HW. La Contesa della CPU La CPU è la componente più costosa e più importante di un computer Tutti i programmi necessitano.

Job scheduler (JS)

• Lo JS preleva un lavoro dalla lista hold su disco fisso e lo manda in memoria nella lista dei ready.

Page 13: Kernel Il nucleo del Sistema Operativo HW. La Contesa della CPU La CPU è la componente più costosa e più importante di un computer Tutti i programmi necessitano.

JCB = job control block

1. Identificativo del programma2. Occupazione in memoria (KB)3. Indirizzo sulla memoria di massa4. Identificativo periferica5. Puntatore allo JCB successivo

1. Identificativo del programma2. Occupazione in memoria (KB)3. Indirizzo sulla memoria di massa4. Identificativo periferica5. Puntatore allo JCB successivo

Il jcb contiene informazioni su:

Page 14: Kernel Il nucleo del Sistema Operativo HW. La Contesa della CPU La CPU è la componente più costosa e più importante di un computer Tutti i programmi necessitano.

Traffic controller

1. 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

Page 15: Kernel Il nucleo del Sistema Operativo HW. La Contesa della CPU La CPU è la componente più costosa e più importante di un computer Tutti i programmi necessitano.

PCB = process control blockInformazioni nel PCB 1. PID, numero progressivo che identifica un processo2. ID del padre (il PCB che puntava ed esso)3. Il puntatore ai figli4. Lo stato del processo (ready, run…)5. Registro di salvataggio6. Indirizzo in memoria centrale7. Identificatore periferica8. File aperti

Page 16: Kernel Il nucleo del Sistema Operativo HW. La Contesa della CPU La CPU è la componente più costosa e più importante di un computer Tutti i programmi necessitano.

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

HH LL

Page 17: Kernel Il nucleo del Sistema Operativo HW. La Contesa della CPU La CPU è la componente più costosa e più importante di un computer Tutti i programmi necessitano.

Uscita dallo stato run

1. Ci sono 3 eventi che portano a liberare la CPU da un processo e sono:

Lista dei running

Il processo

chiede i/o

processo

Il processo

ha terminat

o

È scaduto

il Time slice

HDD(ready)

Page 18: Kernel Il nucleo del Sistema Operativo HW. La Contesa della CPU La CPU è la componente più costosa e più importante di un computer Tutti i programmi necessitano.

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)

Page 19: Kernel Il nucleo del Sistema Operativo HW. La Contesa della CPU La CPU è la componente più costosa e più importante di un computer Tutti i programmi necessitano.

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.


Recommended