/proc
це файлова система , оскільки призначені для користувача процеси можуть переміщатися по ньому з допомогою знайомих системних викликів і бібліотечних викликів, як opendir()
, readdir()
, chdir()
і getcwd()
. Навіть open()
, read()
і close()
працюйте над багатьма "файлами", які з'являються в /proc
. Більшість намірів і майже всіх цілей /proc
- це файлова система, незважаючи на те, що її файли не займають блоки на якомусь диску.
Я припускаю, що всі ми повинні уточнити, яке визначення терміна «файлова система» ми використовуємо в даний час. У контексті ext4, коли ми пишемо "файлову систему", ми, мабуть, говоримо про комбінацію компонування дискових блоків, специфікацію інформації метаданих про блоки дисків, які також розташовані десь на диску, і код, який стосується макет на диску. У контексті /usr
, /tmp
, /var/run
і так далі, ми пишемо про розуміння або загальної концепції про те , як назвати деякі речі. Ці два вживання терміна "файлова система" дійсно зовсім інші. /proc
насправді є другим видом "файлової системи", як ви зазначили.
/proc
якщо ви не вважаєте, що файли завжди підтримуються на диску (або на магнітофонах, на CD-дисках, або на будь-якому іншому) 9. Вони не завжди - подумайте про RAM-диски. послідовність відкритого / запису / закриття з "реальним" файлом у/home
, скажімо, не завжди може означати, що відповідні зміни, призначені для остаточного відображення стану цього файлу, зберігаються в ondisk, вже зроблені та завершені.