回答:
http://lxr.linux.no/linux+v3.2.9/fs/proc/base.c#L2482が現在の実装です。
procファイルシステムは完全に仮想あり、かつその内部のVFS実装されているreadlink特殊なシンボリックリンクのための適切な場所にデリゲートを。そのため、selfすべてのコンテキストスイッチではなく、読み取り/トラバース時のポイントを計算します。
ファイルは/procディスクに保存されず、カーネルによってオンザフライで生成されます。参照してください。私が開いてからは/ proc読んだときにどうなりますか?
プログラムを使用する場合/procは、カーネルソースコードの実装を読むことができます。/proc/selfシンボリックリンクの内容は、呼び出しプロセスのpidでバッファを埋める関数によって生成されます。