Windows ConfidentialMai più!

Raymond Chen

Esiste un vecchio strumento per le serie di sistemi operativi Windows® 95 noto come Automatic Skip Driver.La prima reazione dell'utente allo strumento sarà stata sicuramente suscitata dal nome stravagante. In seguito, probabilmente, avrà sospettato che l'acronimo ASD volesse dire qualcos'altro.E avrebbe avuto ragione.

Windows 95 disponeva di numerosi dispositivi non Plug and Play perché la maggioranza dei sistemi a quei tempi era precedente a questa tecnologia.Il rilevamento hardware in assenza dei dispositivi Plug and Play era un'impresa molto ardua.

Ad esempio, il rilevamento dei modem veniva eseguito emettendo query alla ricerca di valori associati a decine di registri di modem.Sebbene fosse disponibile un gruppo di comandi modem di base abbastanza noto, esisteva una notevole differenza nell'implementazione degli aspetti più nascosti del linguaggio dei comandi.Ovviamente, questa discordanza causava non pochi problemi ai programmi di comunicazione, poiché richiedeva l'aggiunta di casi speciali a seconda dei diversi modelli di modem per soddisfarne le singole esigenze. Tuttavia, queste differenze rappresentavano un vantaggio per Windows:poiché ogni modem funzionava in maniera diversa, Windows era in grado di esaminarne gli aspetti meno evidenti e confrontare il funzionamento dei modem in base a una tabella di modem noti e delle relative risposte.

  

Una persona del team Windows 95 aveva il compito di installare qualsiasi tipo di modem esistente in commercio ed eseguire un piccolo programma che metteva alla prova il modem, ne esplorava gli aspetti più nascosti e raccoglieva tutti i risultati in modo da creare un database di modem completo.Se si ha ancora accesso a un computer con Windows 95 e si dà un'occhiata alla directory Windows\Inf, si possono trovare tutti i file i cui nomi iniziano con MDM.Oltre 1 MB di file di informazioni sui dispositivi è dedicato ai modem.1 MB di numeri esadecimali illeggibili: ecco il risultato di anni di lavoro.

Il rilevamento dei modem era un'operazione alquanto semplice, poiché quasi tutti i modem funzionavano più o meno allo stesso modo. Erano i dettagli a fare la differenza.La vera sfida era rappresentata dai dispositivi che utilizzavano le porte I/O.Ad esempio, per rilevare se una determinata scheda video fosse installata, il modulo di rilevamento delle schede video di Windows 95 avrebbe inviato i valori selezionati alle specifiche porte I/O e sarebbe rimasto in attesa delle risposte dal dispositivo.Se il dispositivo rispondeva correttamente, si presumeva che avesse trovato quanto cercava.Altrimenti, passava al modello di scheda video successivo.

Naturalmente, se il dispositivo installato sulla porta I/O non era la scheda video cercata da Gestione configurazione per il test, l'invio di valori senza alcun senso era una vera e propria delusione.A seconda del grado di suscettibilità del dispositivo, il computer poteva essere bloccato o riavviato.Tutto ciò non deponeva a favore di Gestione configurazione.Così fu creato il modulo ASD.

Prima di eseguire queste analisi dell'hardware potenzialmente catastrofiche, Gestione configurazione creava un file che, in pratica, avvertiva l'utente: "Oh no!Sto per fare la pericolosissima cosa X!".Si trattava della versione informatica della classica busta con su scritto "Da aprire solo in caso di morte", che l'eroe di un film di azione lascia alla sua fidanzata prima di partire per una missione suicida contro il nemico.

Se la pericolosissima cosa X davvero causava il blocco, l'arresto anomalo o il riavvio del computer, al successivo riavvio veniva visualizzato il file magico e "aperta la busta" per verificare la causa del problema.A questo punto, il sistema capiva che il tentativo di rilevare il dispositivo X non era riuscito e traeva la conclusione che non doveva farlo mai più!

Il modulo responsabile di tutto questo si chiamava ASD.L'acronimo ADS stava per "Attempting Something Dangerous", cioè "Tentare qualcosa di pericoloso".

Raymond Chen, The Old New Thing, così come nell'omonimo libro (Addison-Wesley, 2007), vengono illustrate la storia di Windows e la programmazione in Win32.L'argomento è scottante e va trattato con prudenza.

© 2008 Microsoft Corporation e CMP Media, LLC. Tutti i diritti riservati. È vietata la riproduzione completa o parziale senza autorizzazione.