|
 |
Il Processore e il Debugger |
LA GRANDE LIBRERIA 7/9
[58 di 60] |
 |
|
Il Secondo ripiano della Libreria |
|
 | Il ripiano superiore della libreria contiene un'ulteriore serie di
libri, tutti
caratterizzati da un numero compreso tra 20H e
3FH; si tratta della raccolta dei
servizi offerti dal Sistema Operativo
Ms-DOS (Microsoft-Disk
Operating System) e quindi la loro presenza è
assicurata solo dopo che il computer ha ultimato con successo la fase di
boot-strap. |
 | I titoli di tale ripiano
trattano argomenti in grado di
garantire l'intercessione e la
corretta supervisione dell’Ms-DOS. |
 | Quando questo sistema operativo
governava il mondo (con buona pace dei nobili Windows...)
le funzioni DOS erano le uniche
procedure di sistema in grado di
affrontare e risolvere i problemi legati alla
gestione software di un computer: con esse abbiamo imparato a
gestire cartelle e files, passo
indispensabile per organizzare ed elaborare i dati assunti con la
gestione hardware assicurata dalle
funzioni BIOS, descritte nella pagina
precedente. |
 |
Ms-DOS ha superato i vent'anni di vita,
essendo stato rilasciato nel 1981: a differenza dei moderni sistemi operativi,
che operano in ambiente grafico (cioè basato sul
pixel) aveva (e mantiene, all'interno del
programma shell di DOS) un'interfaccia di
tipo testo (cioè basata sull'uso di
caratteri), detta
interfaccia a riga di comando per
evidenziare la necessità di passargli il comando
desiderato digitando da tastiera i caratteri corrispondenti (come DIR,
CD, COPY, ...) |
 | Questo sistema operativo era
costituito da 3 parti ben precise,
3 files necessari e sufficienti per garantire il funzionamento
del computer che lo ospitava; ancora oggi questi 3 files sono i soli
indispensabili in un
dischetto Auto-boot, cioè in grado di far partire, se presente nel
lettore A: prima dell'accensione, un computer in
modalità DOS. |
 | Essi sono:
 | il file IO.SYS (noto
anche come IBMIO.SYS nella versione
fornita dall'IBM): era chiamato a fornire l'interfaccia
tra il sistema vero e proprio (detto kernel
e presente nel prossimo file) e le funzioni BIOS, notoriamente legate
all'I/O; in altre parole ogni volta che il kernel
aveva bisogno di servizi Bios li chiedeva ad IO.SYS
che si occupava di farglieli avere; questa tecnica contribuiva a rendere la
richiesta del sistema sempre meno vincolata all'hardware, sempre più
virtualizzata. |
 | il file MSDOS.SYS
(noto anche come IBMDOS.SYS nella
versione fornita dall'IBM): era il kernel,
come detto, il sistema vero e proprio;
il suo compito consisteva nell'assicurare
il file system
(cioè la gestione dei files su disco) e
la gestione della memoria e
dei processi; in pratica proprio la
raccolta di procedure di sistema
ospitate nel nostro secondo ipotetico ripiano di libreria, accessibili da
programma con le istruzioni INT. |
 | il file COMMAND.COM:
era l'interprete dei comandi, la cosiddetta
shell (=conchiglia);
il suo compito consisteva nel controllare ogni comando che veniva digitato a
destra del Prompt, la classica scritta
C:\>_, da esso stesso prodotta; se i
comandi digitati erano quelli previsti da una sua tabella interna provvedeva a
metterli in esecuzione, interpretando eventuali altri comandi
esterni come files, da
caricare (suoi ospiti) nella zona di memoria RAM successiva a "se stesso" e
da mettere in esecuzione (con l'aiuto della
funzione exec), cedendo loro il controllo del processore. |
|
 | Oggi giorno tutto è più asettico ed oscuro... Le sanguigne funzioni DOS
sono state sostituite da quelle della API (
Application Programming Interface)
Windows, oggetti preconfezionati
privi di stimoli, poco emozionanti,
utilizzabili per creare
un’applicazione certamente esteticamente più accattivante, ma poco
gratificante dal punto di vista creativo.. |
 | Ma per noi, inguaribili romantici (o passionali
raziocinanti?) rimane il piacere della malta e del mattone... e finchè il
grande Bill ci lascierà la monotòna, amata conchiglia,
vi ci tufferemo senza freno, magna cum libido! |
 |
In realtà i nostri programmi, creati
con ampio riferimento a funzioni Bios e MsDOS, continueranno a funzionare
egregiamente, ospitati da una shell messa a disposizione (bontà sua..) da Windows. |
 | La shell di DOS è in
pratica un programma che simula
in tutto e per
tutto il DOS originale,
cercando di eseguire i compiti svolti, in quell'ambiente, dall'interprete
dei comandi, cioè dalla terza delle sue 3
parti componenti, quella nota come
Command.com. |
 | Vi si accede cliccando sull'icona
"Ms-Dos" disponibile nel Menu d'Avvio:
di solito dopo questa azione si apre una finestra
dallo sfondo nero, in tutto e per tutto uguale all'interfaccia proposta
dal DOS originale, espandibile a pieno schermo
semplicemente premendo insieme Alt e
Invio. |
 |
Fin tanto che la finestra non sarà chiusa (cliccando
sulla X posta nel suo angolo in alto a destra oppure digitando
il comando Exit, al prompt) tutto il lavoro sarà
esattamente come quello svolto
sotto la tutela del vecchio DOS,
ospiti del suo interprete
Command.com. |
 | Vediamo di chiarire meglio le categorie dei servizi
ottenibili passando ad
INT
xyH
l'operando numerico compreso tra
20H e 3FH; è ormai appurato che
si tratta di servizi DOS, cioè
inevitabilmente caricati in memoria (dopo il
boot-strap) con i 3 files IO.SYS, MSDOS.SYS
e COMMAND.COM:
 | nel secondo ripiano della libreria appare subito evidente
un libro nettamente più grande di
qualunque altro: si tratta del numero 21H,
il cuore di questo Sistema Operativo: con l’ingente quantità dei suoi
“capitoli” (le funzioni DOS) descrive in ogni dettaglio la sua potenza, come la
capacità di gestire i files su disco (File System), la possibilità di
controllare l’uscita di dati verso il video (o, più genericamente, verso
qualunque altra periferica come la stampante) e di riceverne dalla tastiera (o
da altro oggetto in grado di garantire un ingresso dati come la porta seriale).
Tra le funzioni DOS troveremo la risposta ad ogni possibile domanda riguardante
l’organizzazione software del nostro computer. |
|
Vettore in Tabella |
N° Vettore |
Funzione Assicurata |
|
0000:0084 |
21H |
Funzioni generali del DOS (da
Ms-DOS.SYS) |
 | 3 libri sono
destinati a fornire l'indirizzo
di importanti servizi di gestione interna: |
|
Vettore in Tabella |
N° Vettore |
Funzione Assicurata |
|
0000:0088 |
22H |
Procedura di Terminazione (da
Command.COM) |
|
0000:008C |
23H |
Gestione del Ctrl-Break (da
Command.COM) |
|
0000:0090 |
24H |
Gestione degli Errori Critici (da
Command.COM) |
 | 2 libri si occupano
della scrittura e lettura assoluta dei dischi,
operazione tanto potente quanto delicata: |
|
Vettore in Tabella |
N° Vettore |
Funzione Assicurata |
|
0000:0094 |
25H |
Lettura Assoluta dei Dischi (da
Ms-DOS.SYS) |
|
0000:0098 |
26H |
Scrittura Assoluta dei Dischi (da
Ms-DOS.SYS) |
 | 2 libri organizzano
le procedure necessarie per farsi restituire
il controllo da un programma eseguibile,
quando ha finito il suo compito; il secondo
Interrupt software è particolarmente importante, perchè consente
di lasciare in memoria una parte del programma
che sta per essere terminato: |
|
Vettore in Tabella |
N° Vettore |
Funzione Assicurata |
|
0000:0080 |
20H |
Terminatore di un programma (da
Ms-DOS.SYS) |
|
0000:009C |
27H |
Termina il programma ma resta residente (Ms-DOS.SYS) |
 | Tutti gli altri sono sostanzialmente
riservati al DOS per uso interno, sebbene
nel tempo alcuni siano stati presi in prestito da
altri per assicurare importanti servizi
standard; di questi preferiamo parlare nella prossima pagina,
dedicando loro un ripiano specifico: |
|
Vettore in Tabella |
N° Vettore |
Funzione Assicurata |
|
0000:00A0 |
28H |
riservato DOS -
Stati d'attesa IDLE (Ms-DOS.SYS) |
|
0000:00A4 |
29H |
riservato DOS - (IO.SYS) |
|
0000:00A8 |
2AH |
riservato DOS - (Ms-DOS.SYS) |
|
0000:00AC |
2BH |
riservato DOS - (Ms-DOS.SYS) |
|
0000:00B0 |
2CH |
riservato DOS - (Ms-DOS.SYS) |
|
0000:00B4 |
2DH |
riservato DOS - (Ms-DOS.SYS) |
|
0000:00B8 |
2EH |
riservato DOS - (Ms-DOS.SYS) |
|
0000:00BC |
2FH |
riservato DOS -
Vedi pagina seguente |
|
0000:00C0 |
30H |
riservato DOS - (Ms-DOS.SYS) |
|
0000:00C4 |
31H |
riservato DOS - (Ms-DOS.SYS) |
|
0000:00C8 |
32H |
riservato DOS - (Ms-DOS.SYS) |
|
0000:00CC |
33H |
riservato DOS -
Vedi pagina seguente |
|
0000:00D0 |
34H |
riservato DOS - (Ms-DOS.SYS) |
|
0000:00D4 |
35H |
riservato DOS - (Ms-DOS.SYS) |
|
0000:00D8 |
36H |
riservato DOS - (Ms-DOS.SYS) |
|
0000:00DC |
37H |
riservato DOS - (Ms-DOS.SYS) |
|
0000:00E0 |
38H |
riservato DOS - (Ms-DOS.SYS) |
|
0000:00E4 |
39H |
riservato DOS - (Ms-DOS.SYS) |
|
0000:00E8 |
3AH |
riservato DOS - (Ms-DOS.SYS) |
|
0000:00EC |
3BH |
riservato DOS - (Ms-DOS.SYS) |
|
0000:00F0 |
3CH |
riservato DOS - (Ms-DOS.SYS) |
|
0000:00F4 |
3DH |
riservato DOS - (Ms-DOS.SYS) |
|
0000:00F8 |
3EH |
riservato DOS - (Ms-DOS.SYS) |
|
0000:00FC |
3FH |
riservato DOS -
Gestore di Overlay (Ms-DOS.SYS) |
|
©
2001-2010 - Studio Tecnico
ing. Giorgio OBER
Tutti i diritti sono riservati
|