Sterownik urządzenia: Różnice pomiędzy wersjami

[wersja nieprzejrzana][wersja nieprzejrzana]
Usunięta treść Dodana treść
JAnDbot (dyskusja | edycje)
m robot dodaje: ar, ca, kk, ko, lb, sr, zh-yue poprawia: is, simple, sk
k,
Linia 1:
to wszystko nie prawda
[[Grafika:Device-driver-pl.svg|thumb|right|350px|Komunikacja aplikacji użytkownika, ze sprzętem<br /> za pośrednictwem sterowników]]
'''Sterownik urządzenia''' to [[oprogramowanie|program]] lub fragment programu odpowiadający za dane [[Urządzenie peryferyjne|urządzenie]] i pośredniczący pomiędzy nim, a resztą [[system komputerowy|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ądro systemu operacyjnego|jądrze systemu operacyjnego]]. W [[system operacyjny|systemach operacyjnych]] z [[mikrojądro|mikrojądrem]], w [[jądro systemu operacyjnego|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 plików|systemów plików]] - tworzą abstrakcję nad sterownikami [[Dysk_twardy|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 [[plik]]i w katalogu [[plik urządzenia|/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 [[automatyka przemysłowa|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.
 
[[Kategoria:Budowa systemu operacyjnego]]
[[Kategoria:Automatyka]]
 
[[ar:مشغل (برنامج حاسوبي)]]
[[bs:Drajver]]
[[ca:Programa de control]]
[[cs:Ovladač zařízení]]
[[da:Hardwaredriver]]
[[de:Gerätetreiber]]
[[en:Device driver]]
[[es:Controlador de dispositivo]]
[[eo:Pelilo]]
[[fr:Pilote informatique]]
[[ko:장치 드라이버]]
[[id:Device driver]]
[[is:Rekill (tölvunarfræði)]]
[[it:Driver]]
[[he:מנהל התקן]]
[[kk:Драйвер]]
[[lv:Draiveris]]
[[lb:Driver]]
[[lt:Tvarkyklė]]
[[hu:Hardver-illesztőprogram]]
[[nl:Stuurprogramma]]
[[ja:デバイスドライバ]]
[[no:Driver]]
[[nn:Drivar]]
[[pt:Driver de dispositivo]]
[[ro:Driver]]
[[ru:Драйвер]]
[[simple:Device driver]]
[[sk:Ovládač (informatika)]]
[[sr:Драјвер]]
[[fi:Laiteajuri]]
[[sv:Drivrutin]]
[[vi:Chương trình điều khiển]]
[[uk:Драйвер]]
[[zh-yue:驅動程式]]
[[zh:驱动程序]]