Як часто proc
файлова система оновлюється в Linux? Це 20 мілісекунд (квант часу)?
Як часто proc
файлова система оновлюється в Linux? Це 20 мілісекунд (квант часу)?
Відповіді:
Інформація, яку ви читаєте з файлової системи proc, не зберігається на жодному носії (навіть не в оперативній пам'яті), тому не можна нічого оновлювати.
Мета пуття файлової системи , щоб дозволити Користувальницьким програмами для отримання або набору даних ядра , використовуючи просту і знайому файлову систему семантики ( open
, close
, read
, write
, lseek
), навіть якщо дані , які зчитуються або записуються не перебувають на якому - якому носії. Це дизайнерське рішення було визнано кращим (наприклад, читабельним для людини та легким сценарієм) для отримання та встановлення даних, формат яких неможливо було вказати заздалегідь, ніж реалізація чогось такого, як кодовані ASN1 OID, що також добре працювало б.
Дані, які ви бачите, коли читаєте з файлової системи proc, генеруються на ходу, коли ви читаєте з початку файлу. Тобто виконання читання призводить до формування даних за допомогою функції зворотного виклику ядра, яка є специфічною для файлу, який ви читаєте. Перехід lseek
до початку файлу та повторне читання викликає ще один виклик до зворотного дзвінка, який знову генерує дані. Аналогічно, коли ви пишете у файл, що записується, у файловій системі proc, викликається функція зворотного виклику, яка аналізує вхід та встановлює змінні ядра. Вхідні дані у сирому вигляді не зберігаються.
Сказане - лише дещо докладніший спосіб сказати, що так стисло говорить Хоуке Лагінг. Я пропоную вам прийняти його відповідь.
Він оновлюється при кожному доступі. Ви бачите стан ядра в той момент. Ось чому розмір, показаний для "файлів", не є реальним розміром. Реальний розмір може змінюватися і визначається в момент отримання доступу до файлу.
Можна сказати, це може не оновлюватися днями. Якщо ви не дивитесь на це. :-)
/proc/
моєму файлі fstab у мене немає ☹