Sartomiki.net

  • Aumenta dimensione caratteri
  • Dimensione caratteri predefinita
  • Diminuisci dimensione caratteri

Interrupt

E-mail Stampa PDF
Valutazione attuale: / 4
ScarsoOttimo 

stopA livello hardware viene mandato un segnale alla CPU tramite il BUS. A livello di software vengono gestite sistuazioni particolari tramite procedure dedicate. Gli interrupt non sono codice abilitato finchè non viene richiesto il loro intervento. Essi si trovano nella memoria destinata al kernel mode. Gli interrupt guidano l'andamento e l'esecuzione dell'OS. Nel momento in cui arriva il segnale di interrupt particolare la CPU termina quello che stava facendo e trasferisce la sua esecuzione verso la locazione specificata dall'interrupt. Viene quindi eseguita la routine di servizio. La serie di routine di eseguire si trovano nella interrupt vector table, dove sono contenuti tutti gli indirizzi di partenza delle procedure dell'interrupt. Nel momento in cui viene terminata la routine la CPU torna a eseguire ciò che stava facendo.

Gestione interurpt I/O
Se un processo vuole eseguire un'operazione di I/O viene inviata una richiesta al kernel. Il kernel valuta la richiesta e normalmente viene accettata. Il processo viene messo in attesa del completamento dell'operazione di I/O e un altro processo eseguito. Nel momento in cui termina l'operazione di I/O il primo processo torna ad essere eseguito o subito o dopo la fine del secondo processo.

Interrupt / eccezioni
Le eccezioni sono eventi interni al processori. Essi sono causate in modo sincrono dal programma in esecuzione, che ad esempio può chiamare una system call oppure può effettuare un'operazione non consentita (trap). Gli itnerrupt invece sono causati da eventi esterni e sono asincrone, quindi non dipendono dal programma. Se un programma viene eseguito milioni di volte, durante ogni esecuzione si avranno le stesse eccezioni ma interrupt diversi.
In un OS gli interrupt hanno una gerarchia. Nel senso che un interrupt di livello alto può causare la sospensione di una procedura di interrupt di livello inferiore, ma non viceversa

Scopi dell'OS
Gli OS devono gestire la multiprogrammazione mediante l'implementazione degli interupt per i dispositivi I/O, devono gestire la memoria, devono effettuare lo scheduling della CPU, cioè comandare quali processi debbano essere eseguiti dalla stessa e in che ordine, devono preoccuparsi dell'allocazione delle periferiche. Una delle funzioni principali di un OS è il time sharing dei processi: possono gestire questo tramite swapping (situazione per la quale la coda delle operazioni da eseguire si trova in parte su memoria principale e in parte in memoria secondaria) oppure tramite Virtual Memory (che permette di dividere lo stesso processo in parte in memoria principale e in parte in memoria secondaria)


Per le immagini Ringraziamo ©bound 4 freedom

 


blog comments powered by Disqus
 

http://sartomiki.net/modules/mod_fuofb/assets/it/find-us-on-facebook-1.png

Follow me

Amici

Chi è online

 5 visitatori online

Siti amici

Banner

Notizie flash

Da oggi avete la possibilità di commentare tutti gli articoli presenti sul sito!! Scrivete le vostre opinioni!

PUBBLICITA'