Komunikacja aplikacji użytkownika, ze sprzętem za pośrednictwem sterowników
Komunikacja aplikacji użytkownika, ze sprzętem
za pośrednictwem sterowników

Sterownik urządzenia to 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 tak jak jest. 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Ä… pseudolosowe;
  • /dev/zero - nieskoÅ„czone źródÅ‚o znaków (o kodzie 0x00);
  • sterowniki systemów plików - tworzÄ… abstrakcjÄ™ nad sterownikami dysków, pozwalajÄ… na wygodny dostÄ™p do danych bez znajomoÅ›ci sposobu ich zapisu.

W systemach operacyjnych Linux i Unix, urządzenia reprezentowane są przez wirtualne pliki w katalogu /dev. Znajdujące się tam urządzenia dzielimy na blokowe oraz znakowe. To samo fizyczne (albo wirtualne) urządzenie może posiadać oba rodzaje sterowników. Różnica między nimi leży w zbiorze udostępnianych operacji. Do pełnej identyfikacji sterownika w systemie operacyjnym, potrzebne są dwie liczby z zakresu od 0 do 255. Pierwsza z nich nazywana jest liczbą główną i stanowi pozycję w odpowiedniej tablicy sterowników w jądrze systemu operacyjnego. Druga z nich przekazywana jest sterownikowi przy wykonywaniu konkretnych operacji. W wypadku sterownika dysku, może ona na przykład oznaczać numer podłączonego dysku twardego. Aby utworzyć nowy plik urządzenia można posłużyć się poleceniem mknod. Jako parametry przyjmuje ono ścieżkę do pliku urządzenia, a następnie dane jednoznacznie identyfikujące sterownik, czyli kolejno:

  • znak c lub b w zależnoÅ›ci czy urzÄ…dzenie jest blokowe czy znakowe,
  • numer główny,
  • numer podrzÄ™dny.


W automatyce przemysłowej sterownik urządzenia to samodzielny układ (komputerowy, elektryczny, elektroniczny, elektromechaniczny) zajmujący się nadzorowaniem pracy urządzenia elektrycznego. Czasem takie układy elektroniczne nazywa się kontrolerami, aby je odróżnić od programowych sterowników urządzeń w systemie operacyjnym.