|
 |
La
Tabella dei Vettori |
SCHEDA n° 04 [
11
di 15] |
 |
|
Modifica e sostituzione (rimappatura) di un Vettore [1 di
4] |
|
 | Rimappare un Vettore
significa progettare una nuova procedura di
servizio per un determinato Gestore
HardWare (Timer,
Tastiera, Stampante, ecc.) o per il
Servizio SoftWare di uno degli
INT
xyH
previsti dalla Tabella dei Vettori. |
 | Ciò comporta la sostituzione,
nella locazione corrispondente della Tabella dei Vettori,
del puntatore alla vecchia procedura
originale (che comunque resterà in memoria a disposizione)
con quello alla nuova. |
 | Come è ormai noto ogni procedura
originale è presente nel sistema per intercessione del
BIOS o del sistema
operativo o di un suo driver,
per cui anche le nuove procedure dovranno essere
a disposizione in ogni momento, dopo la
rimappatura, per consentire al processore di poterle eseguite
semplicemente in risposta della chiamata di sistema
INT xyH
corrispondente. |
 | L'unico modo per poter disporre di questo servizio è dunque
l'utilizzo di un programma di lancio di tipo
TSR, cioè tale da terminare lasciando una
parte di sè (proprio la nuova procedura)
nella memoria
convenzionale; dopo l'operazione questo software sarà disponibile fino allo
spegnimento del computer. |
 |
L'argomento
di queste pagine tratta tecniche di programmazione piuttosto sofisticate e
particolari; se trovi che sia troppo impegnativo puoi tornare qui in un
secondo tempo, quando lo studio del tutorial ti avrà fornito gli elementi
necessari. |
 | La rimappatura di un
Vettore è operazione ad alto rischio!
In ogni caso la sequenza delle cose da fare deve essere assolutamente
precisa e ben pensata;
tra le cose che non bisogna trascurare ricordiamo:
 | prima è sempre opportuno assumere
dalla tabella l'indirizzo
originale e salvarlo in variabili
locali dedicate, rese residenti insieme con la nuova procedura di servizio, affinchè‚ il nostro
programma possa recuperarle e ripristinarne il valore, quando sarà chiamato a restituire il
controllo al sistema operativo nel modo originale. |
 | la nuova procedura deve
assicurare (specialmente se si riferisce ad una parte vitale del computer,
per esempio al suo timer di sistema) anche l'esecuzione
di quella originale. |
|
 | Le fasi della rimappatura di
un Vettore sono, di norma, 4:
 | il recupero del puntatore al
vecchio Gestore |
 | la memorizzazione del puntatore al
vecchio Gestore |
 | la creazione del nuovo
Gestore |
 | l'installazione del nuovo
Gestore |
|
 | Ciascuna di queste operazioni può essere
realizzata con tecniche diverse, più o meno sofisticate; le vedremo in
dettaglio nelle pagine seguenti. |
©
2001-2010 - Studio Tecnico
ing. Giorgio OBER
Tutti i diritti sono riservati
|