Condividi tramite


Tecniche di programmazione di I/O generali

Una delle tecniche più importanti nella programmazione di I/O è una che è consigliabile evitare: forzare il sistema operativo ad attendere il dispositivo. Quasi tutti hanno avuto l'esperienza di vedere Microsoft Windows "bloccarsi". A volte il blocco è dovuto a un arresto anomalo, ma altre volte il sistema è semplicemente in attesa che un dispositivo risponda.

Esistono due tecniche di programmazione di base per gestire l'attesa di un dispositivo: sincrona e asincrona. La programmazione sincrona attende il dispositivo e deve essere evitata. La programmazione asincrona usa altre tecniche, ad esempio l'attesa di richieste di interruzione. Per altre informazioni sulla programmazione sincrona e asincrona, vedere gli argomenti seguenti:

Programmazione di I/O sincrona

Programmazione di I/O asincrona

Microsoft Vista ha un nuovo criterio per la gestione dei problemi relativi alla programmazione sincrona. Per altre informazioni su questo nuovo criterio, vedere Limitazione delle attese in Windows Vista per altre informazioni.

Nella programmazione dei driver di dispositivo precedente, un driver deve richiedere ripetutamente informazioni da un driver fino a quando non viene fornita la risposta. Questa tecnica è denominata polling e dovrebbe quasi mai essere usata. Il modo migliore per gestire il problema del polling consiste nell'usare interrupt hardware. Per altre informazioni sugli interrupt hardware, vedere Interruzioni di manutenzione. Per altre informazioni sul polling e sul motivo per cui non è consigliabile usarlo, vedere Evitare il polling dei dispositivi.