• Artykuły
  • Forum
  • Ciekawostki
  • Encyklopedia
  • Plik urządzenia

    Przeczytaj także...
    Plik (ang. file) – uporządkowany zbiór danych o skończonej długości, posiadający szereg atrybutów i stanowiący dla użytkownika systemu operacyjnego całość. Nazwa pliku nie jest częścią tego pliku, lecz jest przechowywana w systemie plików.Urządzenie znakowe (ang. character device) – (w systemach Unixowych) służy do odczytywania/zapisywania danych znak po znaku (albo raczej bajt po bajcie).
    Device Filesystem, w skrócie devfs, to wirtualny system plików stworzony dla Linuksa, zajmujący się tzw. plikami urządzeń znajdującymi się – jak w każdym Uniksie – w katalogu /dev.

    Plik urządzenia – specjalny plik reprezentujący sterownik urządzenia. Dzięki takiemu zabiegowi zostaje znacznie uproszczona komunikacja z urządzeniem, np. chcąc wykonać kopię partycji, wystarczy skopiować plik, który ją przedstawia.

    W systemach operacyjnych Unix pliki urządzeń najczęściej znajdują się w katalogu /dev. Taki plik to i-węzeł, w strukturze systemu plików, z dwiema wartościami. Pierwsza wartość jest numerem głównym urządzenia (ang. major device number), który służy do identyfikacji programu zajmującego się obsługą tego urządzenia (sterownik) przez jądro systemu operacyjnego. Druga wartość to numer podrzędny urządzenia (ang. minor device number) i jest ona przekazywana sterownikowi, aby mógł on zidentyfikować z jakiego urządzenia fizycznego dane mają zostać pobrane/wysłane – w sytuacji, gdy jeden sterownik zajmuje się obsługą wielu urządzeń. Obie wartości są liczbami jednobajtowymi razem tworząc dwubajtowy numer urządzenia.

    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 bez żadnej ingerencji. Wtedy program, który z niego korzysta też jest w pewnym sensie sterownikiem.mknod – program służący do tworzenia plików specjalnych: urządzeń blokowych lub znakowych. Program mknod nie znajduje się na liście programów systemowych w specyfikacji IEEE Std 1003.1 systemu Unix, zawarty jest natomiast w pakiecie GNU Coreutils, co jest powodem tego że jest on dostępny w większości dystrybucji Linuksa.

    Pliki urządzeń można podzielić na dwie grupy:

  • znakowe (np. /dev/tty1)
  • blokowe (np. /dev/hda)
  • Tworzenie plików urządzeń[]

    Do tworzenia plików urządzeń znakowych lub blokowych służy program mknod:

    mknod mojeurzadzenie c 100 102
    

    Powyższe polecenie tworzy plik specjalny urządzenia znakowego (parametr c) mojeurzadzenie o numerze głównym 100 i numerze podrzędnym 102. Ze względów bezpieczeństwa pliki urządzeń może tworzyć jedynie root.

    W celu odczytania informacji dotyczących konkretnego pliku urządzenia należy użyć polecenia:

    udev jest systemem plików zastępującym starszą implementację (devfs) mechanizmu dynamicznej alokacji tzw. plików urządzeń. Został wprowadzony w jądrze Linux począwszy od serii 2.6.ls – program komputerowy, który po jego użyciu spowoduje wypisanie w postaci listy zawartości danego katalogu. Dodany z dodatkowymi parametrami pokazuje również informacje o pliku, w tym kto ma do niego dostęp, kiedy powstał etc.
    ls -l /dev/hda
    

    Wynik jego działania może mieć postać:

    brw-rw---- 1 root disk 3, 0 2007-07-03 21:43 /dev/hda

    1. litera "b" mówi o tym że jest to urządzenie blokowe
    2. numer główny urządzenia
    3. numer podrzędny urządzenia
    4. ścieżka pliku urządzenia

    Sposób działania[]

    Po wykonaniu niniejszego polecenia, którego efektem ma być wysłanie tekstu na ekran pierwszej konsoli:

    echo "tekst" > /dev/tty1
    

    realizowane są następujące operacje:

    System operacyjny (ang. Operating System, skrót OS) – oprogramowanie zarządzające systemem komputerowym, tworzące środowisko do uruchamiania i kontroli zadań użytkownika.Unix Time-Sharing System (pisane również jako UNIX, choć nie jest to skrót – nazwa „UNIX” jest kalamburem określenia Multics, który był wzorem dla Uniksa) – system operacyjny rozwijany od 1969 r. w Bell Labs (UNIX System Laboratories, USL) przez Dennisa Ritchie i Kena Thompsona. W latach 70. i 80. zdobył bardzo dużą popularność, co zaowocowało powstaniem wielu odmian i implementacji. Część z nich, w szczególności Linux oraz OS X, jest w użyciu do dziś. UNIX jest zarejestrowanym znakiem towarowym The Open Group.

    1. Sprawdzenie, czy użytkownik ma możliwości wykonywania działań na pliku (istnienie pliku, prawa dostępu itp.).

    2. Odczytanie numeru głównego urządzenia z i-węzła i na jego podstawie określenie sterownika, w tak zwanych tablicach rozdzielczych jądra systemu, który zajmuje się fizyczną obsługą tego urządzenia.

    3. Przekazanie do sterownika numeru podrzędnego urządzania odczytanego z i-węzła, rodzaju operacji (tutaj zapis) oraz danych.

    Jądro systemu operacyjnego (ang. kernel) – podstawowa część systemu operacyjnego, która jest odpowiedzialna za wszystkie jego zadania.System plików – metoda przechowywania plików, zarządzania plikami, informacjami o tych plikach, tak by dostęp do plików i danych w nich zgromadzonych był łatwy dla użytkownika systemu; także: wolumin.

    4. Wykonanie przez sterownik żądanych operacji, co w tym przykładzie sprowadza się do wypisania ciągu znaków na ekranie konsoli.

    Proces odczytu danych odbywa się podobnie, jednak w przypadku braku kolejnych danych wymaganych przez działający program, zostaje on wstrzymany przez jądro systemu do czasu otrzymania nowych danych od sterownika urządzenia.

    Zobacz też[]

  • urządzenie znakowe
  • urządzenie blokowe
  • devfs
  • udev
  • Partycja – logiczny, wydzielony obszar dysku twardego, który może być sformatowany przez system operacyjny w odpowiednim systemie plików. Niekiedy określenie partycja odnosi się do wydzielonego zasobu innego niż dysk twardy, np. partycja jako wydzielony logiczny komputer (PR/SM) lub partycjonowanie przełączników Fiber Channel lub ESCON Director.i-węzeł (ang. i-node, index-node) – element struktury systemów plików między innymi takich jak ext2 i UFS. I-węzły są strukturami opisującymi pliki w systemie – zawierają wszelkie informacje (lub większość informacji - zależy to od implementacji) związane z plikiem z wyłączeniem danych pliku oraz jego nazwy. Wszystkie i-węzły na danym systemie plików mają tę samą długość.



    w oparciu o Wikipedię (licencja GFDL, CC-BY-SA 3.0, autorzy, historia, edycja)

    Warto wiedzieć że... beta

    Urządzenie blokowe (ang. block device) – (w systemach Unixowych) służy do odczytywania/zapisywania danych blokami, czyli w większych porcjach (połączonych grupach bajtów) takich jak: sektory, kilobajty czy klastry.
    root (z ang. , dosłownie korzeń) – tradycyjna nazwa uniksowego konta, które ma pełną kontrolę nad systemem. Z założenia konto root nie powinno być używane do pracy, do której wystarczyłoby zwykłe konto z ograniczonymi uprawnieniami. Istotną sprawą jest zabezpieczenie tego konta silnym hasłem i zabezpieczenie przed nieautoryzowanym dostępem.

    Reklama

    Czas generowania strony: 0.033 sek.