Dlaczego proc nazywany jest systemem plików?


20

System procplików pozwala jądrze komunikować informacje o każdym uruchomionym procesie w systemie Linux.

Dlaczego procnazywa się systemem plików? To nie jest prawdziwy system plików ext4. To tylko zbiór plików zawierających informacje o uruchomionych procesach.

Odpowiedzi:


25

/procJest to system plików, ponieważ procesy użytkownik może poruszać się po niej ze znanych wywołań systemowych i wywołań bibliotecznych, jak opendir(), readdir(), chdir()i getcwd(). Nawet open(), read()i close()praca na wielu „Pliki”, które pojawiają się /proc. W większości przypadków i prawie wszystkich celach /procjest systemem plików, mimo że jego pliki nie zajmują bloków na niektórych dyskach.

Przypuszczam, że wszyscy powinniśmy wyjaśnić, jakiej definicji terminu „system plików” używamy obecnie. W kontekście ext4, kiedy piszemy „system plików”, prawdopodobnie mówimy o kombinacji układu bloków dysku, specyfikacji informacji o metadanych o blokach dysku, które również znajdują się gdzieś na dysku, oraz o kodzie, który zajmuje się ten układ na dysku. W kontekście /usr, /tmp, /var/runi tak dalej, Piszemy o zrozumienie lub udostępnionym konceptualizacji jak nazwać pewne rzeczy. Te dwa zastosowania terminu „system plików” są rzeczywiście całkiem różne. /procto tak naprawdę, jak zauważyłeś, drugi rodzaj „systemu plików”.


9
Nie ma powodu, aby używać przerażających przydziałów dla plików, /procchyba że ktoś myśli, że pliki są zawsze zabezpieczone dyskami (lub taśmami, CD lub cokolwiek) 9. Nie zawsze - pomyśl o dyskach RAM. /homepowiedzmy, że sekwencja otwierania / zapisywania / zamykania z „prawdziwym” plikiem nie zawsze może oznaczać, że odpowiednie zmiany mające na celu trwałe odzwierciedlenie stanu tego pliku na dysku zostały już dokonane i zakończone.
Hagen von Eitzen

10
tl; dr: bo to system plików?
Jörg W Mittag

1
Zauważ, że wyjaśnia to również powiedzenie „W Linuksie wszystko jest plikiem”.
dr01

Jest to system plików podobny do tego, że ekran jest „pulpitem”. Terminologia komputerowa obfituje w metafory.
Barmar

18

to tylko obszar plików zawierający informacje

Ale to właśnie system plików jest . Systemy plików nie muszą być zapisywalne i nie muszą rezydować w pamięci stałej.

Uwaga: Istnieje rozróżnienie między procfs(implementacją pseudo systemu plików w jądrze) a jego konwencjonalnym punktem montowania /proc. Teoretycznie możesz zamontować procfsgdziekolwiek, ale to rzadkie. Z tego powodu ludzie często mówią, /prockiedy naprawdę mają na myśli procfs.

procfsjest nazywany pseudo systemem plików, ponieważ pliki w procfsnie są tworzone przez zwykłe operacje systemu plików, ale są dodawane i usuwane przez samą implementację systemu plików w oparciu o to, co dzieje się gdzie indziej w jądrze.


dlaczego na przykład / etc / boot nie są nazywane systemem plików?
Makhlouf GHARBI

7
Ponieważ są katalogami w systemie plików. (Cóż, /bootczęsto jest to osobny system plików, ale nie jest to osobny rodzaj systemu plików.)
cjm

9

Jeśli dane są zorganizowane w sposób umożliwiający dostęp do nich za pomocą mechanizmów używanych w systemach plików, można nazwać to wszystko systemem plików.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.