Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Ovladač zařízení by se měl vyhnout dotazování svého zařízení, pokud to není nezbytně nutné, a neměl by pro dotazování používat celý časový řez. Dotazování zařízení je nákladná operace, která způsobuje, že operační systém je omezen na výpočetní úkony v rámci ovladače dotazování. Ovladač zařízení, který hodně dotazuje, koliduje s vstupně-výstupními operacemi na jiných zařízeních a může systém zpomalit a nereagovat na uživatele.
Nedávno vyvinutá zařízení, která jsou technologicky pokročilá jako procesory, na nichž je systém Windows navržen k běhu, zřídka potřebují ovladač pro zjišťování stavu zařízení, ať už aby se zajistilo, že je připraveno na vstupně-výstupní operaci, nebo že operace byla dokončena.
Některá zařízení se však stále používají a jsou navržena pro práci se starými procesory, které měly úzké datové sběrnice, pomalé taktovací frekvence a jednouživatelské, jednoúlohové operační systémy, které prováděly synchronní vstupně-výstupní operace. Taková zařízení můžou vyžadovat dotazování nebo jiné prostředky čekání na aktualizaci registrů zařízení.
I když se může zdát logické vyřešit problém pomalého zařízení kódováním jednoduché smyčky, která zvýší čítač, čímž "plýtvá" minimální interval, zatímco se zařízení aktualizuje, takový ovladač pravděpodobně nebude přenositelný napříč platformami Windows. Maximální hodnota čítače smyčky by vyžadovala přizpůsobení pro každou platformu. Kromě toho, pokud je ovladač zkompilován dobrým optimalizačním kompilátorem, může kompilátor odstranit proměnnou čítače ovladače a smyčky, ve kterých se inkrementuje.
Poznámka Postupujte podle těchto pokynů k implementaci, pokud ovladač musí přerušit, zatímco hardwarový stav zařízení se aktualizuje: Ovladač může volat KeStallExecutionProcessor před čtením registrů zařízení. Ovladač by měl minimalizovat interval, kdy se zastaví, a obecně by měl určit interval zastavení, který nesmí být delší než 50 mikrosekund.
Členitost intervalu KeStallExecutionProcessor je jedna mikrosekundová.
Pokud zařízení k aktualizaci stavu často vyžaduje více než 50 mikrosekund, zvažte nastavení vlákna vyhrazeného pro zařízení v ovladači.