Partilhar via


Técnicas gerais de programação de E/S

Uma das técnicas mais importantes na programação de E/S é aquela que você deve evitar: forçar o sistema operacional a esperar pelo seu dispositivo. Quase todo mundo já teve a experiência de ver o Microsoft Windows "congelar". Às vezes, o congelamento é devido a uma falha, mas outras vezes o sistema está simplesmente esperando que um dispositivo responda.

Existem duas técnicas básicas de programação para lidar com a espera por um dispositivo: síncrona e assíncrona. A programação síncrona aguarda o dispositivo e deve ser evitada. A programação assíncrona usa outras técnicas (como aguardar solicitações de interrupção). Para obter mais informações sobre programação síncrona e assíncrona, consulte os seguintes tópicos:

Programação de E/S síncrona

Programação de E/S assíncrona

O Microsoft Vista tem uma nova política para lidar com problemas com programação síncrona. Para obter mais informações sobre essa nova política, veja Restringindo Esperas no Windows Vista.

Na programação tradicional de drivers de dispositivos, um driver precisaria solicitar repetidamente informações até que a resposta fosse fornecida. Esta técnica chama-se polling e quase nunca deve ser usada. A melhor maneira de lidar com o problema da sondagem é usar interrupções de hardware. Para obter mais informações sobre interrupções de hardware, consulte Interrupções de manutenção. Para obter mais informações sobre sondagem e por que você não deve usá-la, consulte Evitar sondagem de dispositivo.