Jak často je proc
souborový systém aktualizován na Linuxu? Je to 20 milisekund (časové kvantum)?
Přijatá odpověď:
Informace, které čtete ze souborového systému proc, nejsou uloženy na žádném médiu (ani v RAM), takže není co aktualizovat.
Účelem souborového systému proc je umožnit programům v uživatelském prostoru získávat nebo nastavovat data jádra pomocí jednoduché a známé sémantiky souborového systému (open
, close
, read
, write
, lseek
), i když čtená nebo zapisovaná data nejsou uložena na žádném médiu. Toto návrhové rozhodnutí bylo považováno za lepší (např. pro člověka čitelné a snadno skriptovatelné) pro získávání a nastavení dat, jejichž formát nebylo možné specifikovat předem, než implementace něčeho, jako jsou OID zakódované v ASN1, což by také fungovalo dobře.
Data, která vidíte, když čtete ze souborového systému proc, se generují za běhu, když čtete od začátku souboru. To znamená, že provádění čtení způsobí, že data budou generována funkcí zpětného volání jádra, která je specifická pro soubor, který čtete. Provedení lseek
na začátek souboru a opětovné čtení způsobí další volání zpětného volání, které znovu vygeneruje data. Podobně, když zapisujete do zapisovatelného souboru v souborovém systému proc, je volána funkce zpětného volání, která analyzuje vstup a nastavuje proměnné jádra. Vstupní data v nezpracované podobě se neukládají.
Výše uvedené je jen trochu podrobnější způsob, jak říci, co Hauke Laging tak stručně uvádí. Navrhuji, abyste přijal jeho odpověď.