|
|
||||||||
|
Drivers 02/2004 |
||||||||
|
Qui si può fare un discorso senza fine, anche solo rimanendo in Windows, sarebbe sempre e comunque incompleto. Sembra quasi che la Microsoft ci metta un filo di sadismo a sfornare nuove estensioni e maniere di interagire tra S.O. e Hardware. Comunque proviamo innanzitutto a definire cosa sono nella maniera più semplice, mi perdonino i più esperti. Il driver(s) è un file (o gruppo di file) che permette al S.O. di riconoscere ed utilizzare quella data periferica, è insomma un Interprete che gestisce un dialogo. Fino a qui pare semplice, ma nel mondo del Software Commerciale si aggiungono le complicazioni dovute alla presenza dei brevetti - che portano al timore di spionaggio industriale ecc. ecc - quindi si viene a creare una catena di difficoltà che spesso porta ai drivers dei drivers! Insomma il Driver della periferica non parla direttamente con il cuore del sistema operativo (Kernel), ma con un driver di Windows che parla con la Mainboard che parla con il Kernel attraverso un altro driver! Chi mi dice che installare Windows è facile mi fa un po' sorridere, certo Windows comunque funziona, ma come? C'è un ordine rigido in cui installare i drivers di windows:
|
||||||||
Se non si rispetta quest' ordine addio Udma 100/133 Agp 2x o 4x Gestione ottimale degli IRQ/DMA ecc ecc I driver in due parole
|
||||||||
|
Segue un articolo tratto da PcUpgrade Novembre 1998. Come? Vi sembra roba troppo vecchia? Cominciate a "digerire" questa, che poi le cose si complicano! In compenso vi posso assicurare che i concetti di base rimangono gli stessi. Se assimilate questo, poi le ulteriori evoluzioni potrete seguirle, al contrario se vi propinassi solo roba recente, dubito che arrivereste in fondo! C' è solo una cosa che non mi trova in accordo, al punto in questione troverete un link che porterà alla mia opinione. E se Windows qualche driver ce l'ha dentro la pancia? Spesso sono dolori! Cosa succede in quest'altro articolo.
I Driver Di Windows / driver sono il componente software che permette a Windows di controllare schede e periferiche, quindi sono fondamentali per l'efficienza e la stabilità del sistema Appena apriamo la scatola di una scheda, assieme al manuale d'istruzioni troviamo sempre un dischetto o un CD-ROM: contiene i "driver", indispensabili per far funzionare la nuova espansione. I driver sono dei file un po' speciali: Windows e DOS li considerano parti integranti del sistema, però devono essere installati e caricati in modo diverso, assieme alla scheda o all' apparecchio che controllano. Sostituire un driver del computer è come sostituire un mattone dalle fondamenta di un edificio: se quello nuovo non entra perfettamente ne suo posto, l'intero palazzo può crollare.
I concetti fondamentali Esistono già apparecchi che non hanno bisogno di driver e perciò vengono riconosciuti e gestiti automaticamente dal computer: ad esempio le schede di memoria e le porte seriali. In questi casi si dice che il driver è incorporato nel sistema operativo.La realtà però è diversa. Periferiche che hanno la stessa funzione possono essere costruite in modo differente, a seconda delle convinzioni del costruttore; d'altronde anche il "software" che anima il computer può ottenere gli stessi risultati inviando sequenze di comandi equivalenti. Poiché i produttori di computer e i produttori di software non sono mai riusciti ad accordarsi su uno standard unico, l'invenzione del driver è stata necessaria per garantire l' espandilibilità del PC. Il driver è una specie di interprete, che traduce la "lingua" usata dalla scheda in quella del sistema operativo e viceversa: basta installare quello giusto, e qualsiasi scheda viene riconosciuta da qualsiasi computer e da qualsiasi sistema operativo. Se nella memoria del computer non viene caricato il driver, il sistema operativo non sa come inviare i comandi: quindi la scheda resta inerte, oppure viene sfruttata solo per una frazione delle sue possibilità. Naturalmente ogni sistema operativo ha bisogno di driver realizzati appositamente, quindi chi vuole provare una soluzione alternativa a quella Microsoft dovrà prima di tutto assicurarsi che esistano driver compatibili con tutte le schede e periferiche del suo computer.
Driver DOS Anche Microsoft ha cambiato un po' troppe volte idea sulla "lingua" migliore da usare per i driver. Oggi ne esistono addirittura 5 tipi diversi, spesso completamente incompatibili tra loro. Scegliendo il driver sbagliato, il computer potrebbe rallentare e addirittura bloccarsi! Il primo tipo di driver è quello per MS-DOS, chiamato più precisamente "driver a 16 bit in modalità reale". Questo driver viene copiato sull'hard disk del computer dal programma DOS d'installazione (o Setup) che si trova sul corredo di dischetti della scheda; viene richiamato in memoria e attivato dalle righe di comando aggiunte ai file di sistema config.sys e autoexec.bat Per sapere quale periferica è controllata da ciascun driver DOS, basta fare una copia di riserva dei file config.sys e autoexec.bat prima dell'installazione del software della scheda, e confrontarla con l'autoexec.bate il config.sys dopo l'installazione. I driver DOS soffrono di parecchi problemi. Il primo e più grave è la sottrazione di preziosa memoria convenzionale ai programmi, che così non riescono più ad avviarsi. Il secondo problema dei driver DOS è la necessità di impostare manualmente i parametri delle periferiche: ciò significa che ogni volta che si installa una nuova scheda (che cambia i parametri di funzionamento delle altre) bisognerà ripetere l'installazione di tutte le precedenti, per essere sicuri che tutto continui a funzionare regolarmente. Infine, i driver DOS sono compatibili quasi al 100% con Windows 3.1 ma non con Windows 95, dove frequentemente causano gravissimi conflittì e rallentamenti.
Driver a 16 bit II secondo tentativo di Microsoft sono stati i driver per Windows 3.1, tecnicamente chiamati "driver in modo protetto a 16 bit". Molti di questi driver, con l'unica eccezione di quelli per il disco e per la scheda grafica, sono pienamente compatibili anche con Windows 95 ma ovviamente non lo sfruttano al pieno delle reali possibilità. I driver per Windows 3.1 sono piccoli file con una delle seguenti estensioni: drv, 386, dll, vxd. Spesso per la stessa periferica viene installato più di un driver, mentre le righe che contengono un asterisco richiamano i driver incorporati di Windows. L'estensione del file indica il modo di funzionamento del driver e il tipo di supporto fornito alle finestre DOS. I più sofisticati e performanti in genere hanno estensione .386 e .vxd: consentono l'utilizzo della periferica a cui si riferiscono anche in ambiente DOS, dando a ciascun programma 1 ' illusione di essere l'unico a controllarla. Per scoprire a quale periferica si riferiscono le righe di system.ini si può seguire lo stesso procedimento valido per i driver DOS. Windows 3.1 continua a supportare anche i driver DOS, che anzi sono indispensabili per alcuni servizi come la gestione della condivisione dei file e l' accesso al CD-ROM. Tutti i driver DOS caricati all'avviamento prima del fatidico comando "win" vengono ereditati da Windows e da tutte le sessioni DOS che si possono lanciare da Windows. Quindi, per evitare che i programmi lanciati da Windows non riescano a partire per assenza di memoria convenzionale, è importante ottimizzare il caricamento dei driver DOS. Ciò si può fare eseguendo il rudimentale comando Memmaker di MS-DOS 6, oppure installando uno dei sofisticati programmi commerciali di gestione della memoria (Qemm, ecc.).
Driver a 32 bit Le potenzialità di Windows 95 possono essere sfruttate completamente solo caricando i nuovi driver a 32 bit, che possono essere comodamente configurati e verificati usando l'icona Sistema del Pannnello di Controllo. L'errore d'installazione più comune, che fa sprecare memoria e può rovinare le ottime prestazioni dei nuovi lettori CD-ROM, è proprio quello di installare i driver DOS del CD-ROM anche in ambiente Windows 95. Nel file autoexec.bat di Windows 95 non dev'esserci nessun riferimento al filesystem DOS per i CD (mscdex.exe) e alla sua controparte caricata in config.sys (chiamata gslide.sys ecc.). In questo modo Windows 95 può attivare le funzioni Plug and Play e ottimizzare il suo driver a 32 bit interno per la velocità effettiva del lettore. Se invece viene attivato il driver DOS e Windows 95 non riesce ad aggirarlo, viene segnalato un conflitto di risorse nella Gestione Periferiche dell'icona Sistema del Pannello di Controllo. La funzione di autostart dei programmi su CD-ROM viene disabilitata, e i nomi dei file potrebbero essere troncati con gli 8+3 caratteri dello standard DOS. Naturalmente gli stessi conflitti si manifestano ogni volta che, in Windows 95, si installa un driver per DOS o per Windows 3.1 al posto del driver a 32 bit. I driver a 32 bit hanno un solo svantaggio: non sono disponibili quando si riavvia il computer in modalità DOS; ad esempio la lettera del CD-ROM svanisce. Per risolvere questo inconveniente si possono percorrere due strade: eseguire l'installazione del driverMS-DOS mentre il computer è in modalità MS-DOS (mai da una finestra dei comandi richiamata da Windows !), oppure creare un collegamento all'icona del prompt di MS-DOS, richiamare le sue proprietà, selezionare la modalità esclusiva e specificare le righe config.sys e autoexec.bat personalizzate.
Driver di Windows 98 Assieme a Windows 98 Microsoft ha introdotto un ulteriore tipo di driver, che si ispira a quelli per Windows NT. Anche i driver per Windows 98 si configurano e si controllano con l'icona Sistema del Pannello di Controllo. Windows 98 supporta tuttavia un buon 90% dei driver per Windows 95, quindi per installare il nuovo sistema operativo non c'è bisogno di aggiornare tutti i driver, ma eventualmente solo quelli principali. I nuovi driver per Windows 98 si distinguono dai precedenti per un grado di modularità più elevato, che dovrebbe rendere più semplice la correzione dei problemi e l'ottimizzazione delle prestazioni, sia rispetto ai driver per Windows 95 sia rispetto a quelli per Windows NT 4.
Gestione dei driver La gestione del caricamento e della configurazione dei driver a 32 bit di Windows 95 è automatizzata dalla funzione Plug and Play, che semplifica moltissimo l'installazione di tutte le periferiche standard. Tuttavia le routine di Windows possono fallire miseramente quando la configurazione del computer è complessa, oppure se le periferiche da installare non sono completamente standard. In questi casi per mettere "le mani dentro al cofano" e risolvere la situazione bisogna conoscere il meccanismo adottato da Windows. I driver di Windows 95 sono dei normali file di piccole dimensioni con estensione drv, 386, dll, vxd, mpd e inf. Poiché alcune di queste estensioni sono uguali a quelle dei driver per Windows 3.1 a 16 bit,per sapere con certezza quando un driver è a 16 bit e quando è a 32 bit bisogna lanciare un programma diagnostico come Sandra o System Information 2.0, prelevabili da intemet. I driver vengono richiamati e attivati dalle voci nel registro di sistema, mentre l'installazione sull'hard disk è controllata da un procedimento automatico a più fasi. La prima fase è portata avanti dalle routine Plug and Play di Windows, che chiedono l'inserimento del CD-ROM o dei dischetti con i driver. Già in questa fase Windows 95 OSR2 è penalizzato da un fastidioso difetto (non presente in Windows 95 originale): è capace di individuare la presenza di driver aggiornati ma non la loro posizione, che deve essere sempre specificata manualmente. Per questo motivo, spesso è più semplice installare i driver usando il programma d'installazione fornito dal costruttore invece della funzione Plug and Play. In questo caso bisogna assolutamente premere il pulsante "annulla" quando appare il riquadro che invita a ricercare i driver, altrimenti possono nascere conflitti tra le due modalità d'installazione che porteranno alla segnalazione di periferiche multiple o non funzionanti nel Pannello di Controllo. Al termine di questa fase i file si trovano sul disco rigido: i driver vxd a bassissimo livello sono nella directory Windows\ System\Iosubsys (in certi casi semplicemente in Windows\ System); i file inf nella cartella Windows\inf; i driver DirectX nelle sottocartelle di Windows Mnf e tutti gli altri in Windows \System. Le descrizioni e le scritte che appariranno nel Pannello di Controllo sono contenute nei file inf, che possono essere aperti e modificati con il blocco note.
I segreti del Plug and Play Quando il programma d'installazione chiede di riavviare Windows, inizia la seconda fase dell'installazione. L'hard disk viene scandito alla ricerca dei nuovi file vxd e dll, che vengono presi e "fusi insieme" per formare un maxidriver chiamato vmm32.vxd, che si trova nella directory Windows\ System. Durante quest'operazione appare la scritta "aggiornamento del sistema in corso" oppure "creazione del database dei driver", e se per qualsiasi motivo l'operazione viene interrotta durante la scrittura del file aggiornato, Windows 95 non riesce più a ripartire. Poiché vmm32.vxd è generato dinamicamente da Windows a seconda della configurazione del sistema, non è neppure possibile copiarlo da un altro computer. Se non abbiamo un backup aggiornato, bisogna reinstallare Windows. I Vxd caricati da vmm32. vxd sono elencati nel registro di sistema sia come chiavi di nome StaticVxD, sia come voci nella cartella HKEY_LOCAL_MACHlNE\System\CurentControlSet\ Services\VxD. A partire dal successivo riavvio, i driver che vengono effettivamente utilizzati sono quelli contenuti in vmm32.vxd e non più quelli installati dai dischetti o dal CD. C'è un altro meccanismo che protegge l'integrità dei driver e complica la loro disinstallazione. I driver sono file di sistema importanti, e come tali vengono gestiti dalla funzione di ripristino automatico: la cartella windows\sysbckup contiene la loro copia di riserva. Se per qualsiasi motivo il file originale viene cancellato o sovrascritto da un'altra versione, al riavvio successivo la funzione di ripristino automatico sostituisce il driver appena aggiornato con una copia del file che si trova in sysbckup. Quindi in generale non è possibile aggiornare un driver di Windows 95 semplicemente copiandolo sopra al file preesistente, come si poteva fare in Windows 3.1.Le routine Plug and Play di Windows entrano in azione ad ogni riavvio del sistema e verificano se la configurazione è cambiata. Per cambio della configurazione si intende anche l'aggiornamento del BIOS della motherboard, lo spostamento di una scheda su un altro slot o il collegamento di una periferica ad un'altra porta. Se si verifica una di queste condizioni, i driver della periferica vengono riconfigurati e reinstallati, prelevandoli direttamente dall'hard disk.
DirectX DirectX è l'insieme di driver ed estensioni a Windows che Microsoft ha ottimizzato per i giochi, e può creare un'altra complicazione. Durante la sua installazione, viene proposta la sostituzione dei driver della scheda audio e della scheda video con le versioni contenute nel pacchetto DirectX. Purtroppo non sempre questi driver sono i più aggiornati, e quindi dopo l'installazione di DirectX il sistema diventa più lento. Per reinstallare i driver video del produttore, si potrebbe lanciare nuovamente il programma d'installazione dal CD-ROM fornito con la scheda video: ma non è la scelta migliore. Infatti la funzione di ripristino di DirectX 6 tiene nelle sottocartelle di system\inf una copia di tutti i driver che sostituisce (è per questo che aggiornando la scheda grafica o sonora, DirectX "ricorda" anche il nome e i driver della precedente). Per ripristinare i driver originali basta quindi lanciare il programma d'installazione DirectX 6 e premere l'apposito pulsante. Il programma d'installazione copianella cartella di DirectX anche due piccoli programmi diagnostici per la verifica del funzionamento e della versione dei driver audio e video. Dopo aver installato l'ultima versione di DirectX non si deve tentare di reinstallare una versione più vecchia, come invece tentano di fare molti giochi o dimostrativi. Così facendo si rischia di sovrascrivere i driver aggiornati con versioni più vecchie, che possono provocare malfunzionamenti. La sostituzione dei driver originali con la versione inclusa nel pacchetto DirectX può avere un altro effetto collaterale, che si manifesta appena si tenta di spostare la scheda audio o video da uno slot all'altro. In questo caso il driver di Windows 95 deve essere reinstallato , ma il file di definizione originale (quello con estensione .inf) non è più valido, perché è stato scavalcato da quello dei driver DirectX. La conseguenza pratica è che Windows non sa più quale driver deve usare, e chiederà di inserire un fantomatico disco chiamato "DirectX Drivers". Se non lo trova, farà funzionare la scheda in modalità compatibile, con tutte le accelerazioni disabilitate. Per evitare questo inconveniente, alla richiesta di inserire il di sco DirectX Drivers basta semplicemente indicare a Windows dove si trovala cartella dei driver DirectX: normalmente è su C:\Programmi\Directx, ma i file necessari per la reinstallazione si trovano anche nella cartella di Windows o inWindows\System.
Modalità provvisoria A volte, dopo aver installato un driver, Windows 95 non riesce più a caricarsi, e non è più possibile accedere al Pannello di controllo. Per risolvere il conflitto bisogna perciò disabilitare temporaneamente il caricamento di tutti i driver, cioè avviare il computer in "Modalità provvisoria". Per far scegliere la modalità provvisoria, basta resettare il PC e premere F8 appena sul video appare la scritta "Avvio di Windows 95 in corso...". In modalità provvisoria sono visibili solo le periferiche che non hanno bisogno di driver, come il floppy disk; ma serve solo per aprire il Pannello di controllo, rimuovere tutti i driver delle periferiche in conflitto e riavviare Windows.
Il driver del Cdrom in config.sys in realtà non dà nessun fastidio, a patto che lo carichiate nella memoria "alta" con una riga pressapoco così: DEVICEHIGH=C:\dev\Sample.sys /d:MSCD001 (si riferisce ad un file contenuto nella directory c:\dev, di nome sample.sys il quale è un driver generico che funziona con la maggior parte dei cdrom IDE/ATAPI, lo potete scaricare In forma "zippata", MSCD001 e il "nome" del " device ", CdRom in questo caso, che a sua volta deve essere lo stesso sia nel file *.sys, sia nel file *.bat) Questo vi permetterà di generare un semplice file "bach" di nome ad es CdRom.bat contenente una sola riga: lh c:\windows\command\MSCDEX.EXE /D:MSCD001 /M:8 /L:P Questo trucco vi ridà il cdrom in ambiente dos puro, anche se lo richiamate con F8 all'avvio di win9x scegliendo "promp dei comandi con supporto di rete". ( /L:P è il parametro che fissa la lettera di unità in ambiente dos, io tengo p:\ anche in ambiente Windows, trucco utile per non far "scalare " la lettera del cdrom in caso di partizionamento dell' Hdd, aggiunta di un'altro Hdd ecc. ecc.) Utile ad es per copiare i file *.cab dell' installazione di Windows direttamente sul disco rigido. Il comando "bach" NON deve mai essere caricato all' avvio della macchina nell' Autoexec.bat, pena i malfunzionamenti di cui sopra; casomai, se esiste, si può editare il file "Dosstart.bat" situato nella directory di Windows. Io comunque preferisco avere un file bach per ogni device, così posso caricarmi solo quello che desidero in quel momento. Posiziono tutti i file Batch in una cartella apposita, magari situata un una partizione DIVERSA da quella del S.O. ed immetto il percorso di quest'ultima nella variabile Path di sitema, cosi che nell 'Autoexec.bat ci sia una riga pressapoco così: PATH C:\WIN98WEB;C:\WIN98WEB\COMMAND;D:\BATCH32;ecc.ecc.; dove D:\batch32 è la cartella dei file batch. |
||||||||
|
|
||||||||
|
| Home | Chi sono | Software | Sistemi Operativi | Integrazione | L' Hardware | Prestazioni | Un po' di Storia | |