Gonilnik ima naslednje tipične rutine:
Inicijacijsko rutino: To pokliče sistem ob naložitvi gonilnika
Začetno rutino: S to rutino sproži gonilnik postopke za začetek prenosa podatkov.
Skupino dispečerskih rutin (na primer open, close, read, write,..): To so v bistvu glavne rutine, ki jih nudi gonilnik navzven. Ko želimo izvedbo neke vhodno izhodne operacije, tvori upravnik vhoda-izhoda nov paket IRP in ga posreduje primerni dispečerski rutini.
Prekinitveno servisno rutino (ISR) : opravi le najnujnejše, saj dela v režimu, ko ni prekinjana. Zato nato uvrsti v posebno čakalno vrsto "rutino z zamaknjenim klicem" (DPC, Deferred Procedure Call), ki bo kasneje opravila preostalo delo. Prekinitveno servisne rutine imajo le gonilniki prekinitveno gnanih naprav. Gonilnik datotečnega sistema na primer take rutine nima.
Rutino z zamaknjenim klicem (DPC): Ta opravi večino vhodno - izhodnega dela, ki ji ga je zapustila prekinitveno servisna rutina.
Eno ali več zaključnih rutin
Eno ali več rutin za prekinitev vhodno izhodne operacije
Odlagalno (Unload) rutino: Ta sprosti sistemske resurse, ki jih zaseda gonilnik. Gonilnike lahko nalagamo ali odlagamo med delovanjem sistema.
Rutino za čiščenje pri zaustavitvi računalnika
"Error logging" rutino. Ta obvešča
o napakah upravnika vhoda/izhoda, ta pa povzroči zapis informacije o tem
dogodku v "log" datoteko.
Na enoprocesorskih sistemih zagotavlja sinhronizacijo dvig IRQL pred
spreminjanjem neke strukture. Pri večprocesorskih sistemih pa to ne zadošča
in se uporablja tehnika "spinlock".