Dokładnie jaka jest różnica między devfs a sysfs ? Oba wydają się utrzymywać listę programów sprzętowych dołączonych do systemu . Dlaczego więc pojawiła się potrzeba 2 osobnych fs? O ile mogę uzyskać / sys utrzymuje nieco „surową” listę urządzeń (jak „ser0”). Udev działa na tych urządzeniach, pobiera różne informacje i stosuje różne reguły, aby przedstawić je jako rozpoznawalne nazwy, które są następnie mapowane na / dev (jak „aparat”). Czy to jedyny powód? A następnie montujemy odpowiednie urządzenia z / dev fs (nie możemy tego zrobić z / sys fs) w / media fs.
Przeczytałem odpowiedź na stronie Różnica między / dev a / sys / class? . Ale nie mogę dostać części sys fs tam, gdzie to stwierdza
Sysfs zawierają hierarchię urządzeń podłączonych do komputera
Czy pliki w / sys nie są plikami węzłów urządzeń? Jakie to są pliki?
sysfs
z różnych perspektyw, a żadna z odpowiedzi na drugie pytanie nie wyjaśnia, w jaki sposób/dev
katalog jest powiązanysysfs
.Odpowiedzi:
System
/sys
plików (sysfs) zawiera pliki, które dostarczają informacji o urządzeniach: czy jest włączony, nazwa i model dostawcy, do jakiej magistrali urządzenie jest podłączone itp. Interesują go aplikacje zarządzające urządzeniami.System
/dev
plików zawiera pliki, które umożliwiają programom dostęp do samych urządzeń: zapis danych do portu szeregowego, odczyt dysku twardego itp. Interesują go aplikacje uzyskujące dostęp do urządzeń.Metafora
/sys
zapewnia dostęp do opakowania, a jednocześnie/dev
zapewnia dostęp do zawartości pudełka.Pliki
/sys
nie są węzłami urządzeń, ale dowiązaniami symbolicznymi i zwykłymi plikami. Te zwykłe pliki wyróżniają się tym, że odczytywanie lub zapisywanie wywołuje funkcje specyficzne dla plików w jądrze, takie jak węzły urządzeń. Różnica polega na tym, że pliki/sys
działają w ten sposób ze względu na system plików, na którym się znajdują, podczas gdy węzły urządzeń działają w ten sposób ze względu na ich cechy węzła urządzenia (typ pliku wskazujący urządzenie (blokowe lub znakowe) oraz numer główny i pomocniczy urządzenia wskazujące jakie to urządzenie).Powód
/dev
istnienia niezależnie/sys
jest częściowo historyczny:/dev
pochodzi z początków Uniksa, a/sys
jest znacznie nowszym wynalazkiem. Jeśli Linux zostałby dzisiaj zaprojektowany bez historycznego tła,/dev/sda
być może/sys/block/sda/content
.źródło
man hier
.