Come viene implementato / proc / self in Linux?


19

Stavo armeggiando con il /procfilesystem in Linux e mi sono imbattuto /proc/self, che è un collegamento simbolico alla directory del processo del processo corrente. Vorrei sapere come è implementato. Una soluzione sarebbe quella di cambiare quel link simbolico su ogni switch di contesto , ma è ovviamente molto costoso in quanto comporta un accesso al disco.

Risposte:


20

http://lxr.linux.no/linux+v3.2.9/fs/proc/base.c#L2482 è l'implementazione corrente.

Il procfilesystem è completamente virtuale ed è implementato in modo che il VFS interno readlinkdeleghi al posto giusto per speciali collegamenti simbolici. Quindi, calcola ciò che selfindica quando viene letto / attraversato, non tutti i cambi di contesto.


Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.