Con quale frequenza viene proc
aggiornato il file system su Linux? Sono 20 millisecondi (tempo quantistico)?
Con quale frequenza viene proc
aggiornato il file system su Linux? Sono 20 millisecondi (tempo quantistico)?
Risposte:
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 in userspace di ottenere o di dati del kernel insieme utilizzando il semplice e il file system familiare semantica ( open
, close
, read
, write
, lseek
), anche se i dati che vengono letti o scritti non risiedono su qualsiasi supporto. Questa decisione di progettazione è stata ritenuta migliore (ad esempio leggibile dall'uomo e facilmente scrivibile) per ottenere e impostare dati il cui formato non poteva essere specificato in anticipo rispetto all'implementazione di qualcosa come gli OID codificati ASN1, che avrebbe anche funzionato bene.
I dati che vedi quando leggi dal filesystem proc sono generati al volo quando fai una lettura dall'inizio di un file. Cioè, facendo la lettura, i dati vengono generati da una funzione di callback del kernel specifica per il file che stai leggendo. Eseguendo lseek
all'inizio del file e rileggendolo, si verifica un'altra chiamata al callback che genera nuovamente i dati. Allo stesso modo, quando si scrive in 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 non elaborata non vengono memorizzati.
Quanto sopra è solo un modo leggermente più prolisso per dire ciò che Hauke Laging afferma in modo così succinto. Ti suggerisco di accettare la sua risposta.
È aggiornato ad ogni accesso. Vedi lo stato del kernel in quel momento. Ecco perché la dimensione mostrata per i "file" non è la dimensione reale. La dimensione reale può cambiare e viene determinata nel momento in cui accedi al file.
Si potrebbe dire che potrebbe non essere aggiornato per giorni. Se non lo guardi. :-)
/proc/
file nel mio file fstab ☹