Plik urządzenia
Plik urządzenia to specjalny plik, który reprezentuje sterownik konkretnego urządzenia, co upraszcza jego obsługę. W systemach Unix pliki te zazwyczaj znajdują się w katalogu /dev
. Każdy plik urządzenia jest i-węzłem, zawierającym dwa numery: główny (ang. major device number) identyfikujący sterownik oraz podrzędny (ang. minor device number), który wskazuje konkretne urządzenie, jeśli jeden sterownik obsługuje wiele urządzeń.
- Pliki znakowe (np.
/dev/tty1
) - Pliki blokowe (np.
/dev/hda
)
Tworzenie plików urządzeń
Pliki urządzeń można tworzyć za pomocą komendy mknod
. Przykładowe polecenie:
mknod mojeurzadzenie c 100 102
Tworzy ono plik urządzenia znakowego o numerze głównym 100 i podrzędnym 102. Pliki urządzeń mogą być tworzone tylko przez użytkownika root.
Aby odczytać informacje o pliku urządzenia, można użyć polecenia:
ls -l /dev/hda
Proces działania plików urządzeń
Przykładowe polecenie do wysyłania tekstu na ekran konsoli:
echo "tekst" > /dev/tty1
W trakcie jego wykonania następują następujące kroki:
- Sprawdzenie uprawnień użytkownika do operacji na pliku.
- Odczytanie numeru głównego urządzenia i zidentyfikowanie odpowiedniego sterownika w jądra systemu.
- Przekazanie sterownikowi numeru podrzędnego, rodzaju operacji (w tym przypadku zapis) oraz danych.
- Wykonanie operacji przez sterownik, czyli w tym przypadku wypisanie tekstu na ekranie.
Podobny proces zachodzi podczas odczytu danych, gdzie w przypadku braku danych program jest wstrzymywany przez jądro systemu do momentu ich otrzymania od sterownika.