back

Le interrupt

Nel numero precedente abbiamo visto come le interrupt siano il mezzo con cui il Sistema Operativo è in grado di avvertire il presentarsi di un evento.
Occorre perciò fornire una infrastruttura che permetta il funzionamento di tale meccanismo; ciò non significa implementare completamente la gestione delle interrupt, non sarebbe possibile prevedere tutti i segnali offerti dalle architetture oggi in commercio, stiamo progettando un Sistema Operativo per una macchina generica, non per un dispositivo specifico. Saranno i programmatori dei livelli superiori a definire le politiche e i meccanismi relativi ai vari segnali che si intendono realizzare.

A questo livello si definiscono semplicemente i meccanismi di ricezione e riconoscimento dei segnali e si dedica un'area di memoria per poterli ospitare; dopodichè si restituiscono ai programmatori delle funzioni, dette primitive, che a ogni avvio della macchina (la sua configurazione potrebbe cambiare fra un avvio e un altro) popoleranno correttamente tale memoria. Osservando la parte iniziale dei log del Kernel si può notare che fra le prime operazioni eseguite all'avvio vi è proprio il caricamento delle interrupt.

Kernel mode

Con la gestione di processore, memoria e interrupt si è in grado di coprire le componenti elementari di un calcolatore generico, naturalmente è possibile scorporare ulteriormente alcuni strumenti, viene però da chiedersi quanto ciò sia utile ai fini della progettazione.

Poichè abbiamo identificato questi meccanismi come essenziali per il nostro Sistema Operativo, sfruttando il bit di modo messo a disposizione dalle moderne architetture, attribuiremo ad essi i privilegi di sistema; le routine (alias funzioni, v. capitolo seguente) incluse in questo livello opereranno in modalità kernel con il flag di modo settato a "0".

Una ulteriore caratteristica da includere in tale spazio operativo è l'inibizione dell'ascolto delle interrupt per evitare di compromettere il funzionamento di procedure così delicate.
Tale scelta progettuale implica conseguenze significative: ogni volta che il sistema risiederà in modalità kernel sarà del tutto "sordo" agli eventi esterni, questo aspetto va a influire sui tempi di risposta del Sistema Operativo agli stimoli dell'utente, perciò entrare troppo spesso in tale spazio o restarci troppo a lungo influirebbe notevolmente sull'usabilità dell'intero sistema.

back