Чому прок називається файловою системою?


20

procФайлова система дозволяє ядру передавати інформацію про кожного працюючому процесі на системі Linux.

Чому procназивається файлова система? Це не справжня файлова система ext4. Це просто набір файлів, що містять інформацію про запущені процеси.

Відповіді:


25

/procце файлова система , оскільки призначені для користувача процеси можуть переміщатися по ньому з допомогою знайомих системних викликів і бібліотечних викликів, як opendir(), readdir(), chdir()і getcwd(). Навіть open(), read()і close()працюйте над багатьма "файлами", які з'являються в /proc. Більшість намірів і майже всіх цілей /proc- це файлова система, незважаючи на те, що її файли не займають блоки на якомусь диску.

Я припускаю, що всі ми повинні уточнити, яке визначення терміна «файлова система» ми використовуємо в даний час. У контексті ext4, коли ми пишемо "файлову систему", ми, мабуть, говоримо про комбінацію компонування дискових блоків, специфікацію інформації метаданих про блоки дисків, які також розташовані десь на диску, і код, який стосується макет на диску. У контексті /usr, /tmp, /var/runі так далі, ми пишемо про розуміння або загальної концепції про те , як назвати деякі речі. Ці два вживання терміна "файлова система" дійсно зовсім інші. /procнасправді є другим видом "файлової системи", як ви зазначили.


9
Немає ніяких причин використовувати страхітливі коти для файлів, /procякщо ви не вважаєте, що файли завжди підтримуються на диску (або на магнітофонах, на CD-дисках, або на будь-якому іншому) 9. Вони не завжди - подумайте про RAM-диски. послідовність відкритого / запису / закриття з "реальним" файлом у /home, скажімо, не завжди може означати, що відповідні зміни, призначені для остаточного відображення стану цього файлу, зберігаються в ondisk, вже зроблені та завершені.
Хаген фон Ейтцен

10
tl; dr: тому що це система файлів?
Йорг W Міттаг

1
Зауважте, що це також пояснює приказку "В Linux все є файлом".
dr01

Це файлова система аналогічно тому, що екран - це «робочий стіл». Комп'ютерна термінологія рясніє метафорами.
Бармар

18

це просто область файлів, що містять інформацію

Але це саме те , що файлова система знаходиться . Файлові системи не повинні бути доступними для запису, і вони не повинні перебувати на постійному зберіганні.

Примітка. Існує відмінність procfs(реалізація псевдофайлової системи в ядрі) та її звичайної точки монтування /proc. Теоретично можна встановити procfsде завгодно, але це рідко. Через це люди часто говорять про те, /procколи вони насправді мають на увазі procfs.

procfsназивається псевдофайловою системою, оскільки файли в а procfsне створюються звичайними операціями з файловою системою, а додаються та видаляються самою реалізацією файлової системи на основі того, що відбувається в іншому місці ядра.


так чому / etc / boot, наприклад, не називається файловою системою ???
Махлуф GHARBI

7
Оскільки вони довідники у файловій системі. (Ну, /bootчасто це окрема файлова система, але це не окремий вид файлової системи.)
cjm

9

Якщо дані організовані таким чином, щоб отримати доступ до них через механізми, використовувані для файлових систем, ви цілком можете назвати всю річ файловою системою.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.