Quanto spesso è il proc
file system aggiornato su Linux? Sono 20 millisecondi (quanto di tempo)?
Risposta accettata:
Le informazioni che leggi dal filesystem proc non sono memorizzate su nessun supporto (nemmeno nella RAM), quindi non c'è nulla da aggiornare.
Lo scopo del file system proc è quello di consentire ai programmi dello spazio utente di ottenere o impostare i dati del kernel utilizzando la semplice e familiare semantica del file system (open
, close
, read
, write
, lseek
), anche se i dati letti o scritti non risiedono su alcun supporto. Questa decisione di progettazione è stata ritenuta migliore (ad es. leggibile dall'uomo e facilmente scriptabile) per ottenere e impostare dati il cui formato non poteva essere specificato in anticipo rispetto all'implementazione di qualcosa come OID codificati ASN1, che avrebbe anche funzionato bene.
I dati che vedi quando leggi dal filesystem proc vengono generati al volo quando esegui una lettura dall'inizio di un file. Cioè, l'esecuzione della lettura fa sì che i dati vengano generati da una funzione di callback del kernel specifica per il file che stai leggendo. Fare un lseek
all'inizio del file e la rilettura provoca un'altra chiamata alla richiamata che genera nuovamente i dati. Allo stesso modo, quando si scrive su un file scrivibile nel filesystem proc, viene chiamata una funzione di callback che analizza l'input e imposta le variabili del kernel. I dati di input nella sua forma grezza non vengono memorizzati.
Quanto sopra è solo un modo leggermente più prolisso di dire ciò che Hauke Laging afferma in modo così succinto. Ti suggerisco di accettare la sua risposta.