Dostep do urzadzenia znakowego nastepuje poprzez plik znajdujacy sie zazwyczaj w katalogu /dev. Jednym z atrybutow takiego pliku specjalnego (dla pliku zwiazanego z urzadzeniem znakowym ,,c'' w najbardziej znaczacym bicie ciagu praw) jest para liczb z zakresu od 0 do 255: numer glowny major i numer podrzedny minor urzadzenia.
Numer glowny wiaze urzadzenie z odpowiadajacym mu sterownikiem. Wiele plikow moze miec ten sam numer glowny. Oznacza to ze odpowiadajace im urzadzenia sa tego samego typu i beda obslugiwane przez ten sam sterownik.
Numer podrzedny jest przekazywany do sterownika zidentyfikowanego za pomoca numeru glownego. Oznacza instancje urzadzenia typu major i moze roznicowac zachowanie sterownika wobec urzadzenia.
Dodanie nowego urzadzenia polega na wywolaniu funkcji
int register_chrdev ( unsigned int major, const char *name, struct file_operations *fops );zdefiniowanej w <linux/fs.h>.
W wyniku wywolania tej funkcji zostanie utworzone urzadzenie o nazwie name i numerze major (jesli ten numer byl wolny), fops jest wskaznikiem do tablicy wskaznikow do funkcji, ktorych wywolania standardowych funkcji systemowych ma uzyc do obslugi operacji na pliku specjalnym.
Urzadzenie usuwamy wywolujac funkcje
int unregister_chrdev ( unsigned int major, const char *name);
Wywolania te najczesciej znajduja sie w funkcjach zaladowujacych i usuwajacych modul sterownika urzadzenia z systemu.
Plik specjalny zwiazany z urzadzeniem znakowym tworzymy:
mknod /dev/nazwa_pliku c $(major) $(minor)