thumb|upright=1.7|Komunikacja aplikacji użytkownika ze sprzętem za pośrednictwem sterowników. Sterownik urządzenia – program lub fragment programu odpowiadający za dane urządzenie i pośredniczący pomiędzy nim a resztą systemu komputerowego. Zwykle uabstrakcyjnia pewne cechy urządzenia, choć może jedynie zajmować się kwestiami uprawnień dostępu i udostępniać urządzenie bez żadnej ingerencji. Wtedy program, który z niego korzysta, też jest w pewnym sensie sterownikiem.
W tradycyjnych systemach operacyjnych (Unix i inne) sterowniki znajdują się w jądrze systemu operacyjnego. W systemach operacyjnych z mikrojądrem, w jądrze znajduje się jedynie kod zajmujący się uprawnieniami, a sam sterownik jest niezależnym programem.
Często sterownik urządzenia jest odpowiedzialny za obsługę urządzeń, które fizycznie nie istnieją. W systemach operacyjnych Linux i Unix znajduje się wiele sterowników urządzeń wirtualnych (abstrakcyjnych). Jako przykłady wymienić można: sterownik urządzenia NULL (dostęp przez /dev/null) – abstrakcyjne urządzenie, do którego można zapisywać, co nie przynosi żadnego efektu; sterownik urządzenia RANDOM (dostęp przez /dev/random) – dane odczytywane z tego urządzenia są losowe; /dev/zero – nieskończone źródło znaków (o kodzie 0x00); sterowniki systemów plików – tworzą abstrakcję nad sterownikami dysków, pozwalają