長南洋一
cyoic****@maple*****
2012年 4月 15日 (日) 22:45:30 JST
長南です。 ご意見ありがとうございます。 一人で考えていると、自分の思い込みからなかなか抜けられないもの ですから、別の見方を示してくださる他の方の御意見は、いつだって 歓迎です。 とりあえず、問題の原文と訳文 (変更後のもの) を出しておきます。 rbtree redblack tree internals rbtree レッドブラック・ツリーの内部情報 小笠原さんのメールより [JM:00603] > > 根拠薄弱ですみませんが、Linux の文脈で赤黒木というと、 > カーネルがタスク管理に使ってる奴なんじゃないかと。 > 説明としてはこれでしょうか。 > > http://news.mynavi.jp/articles/2008/07/10/lfjs/index.html > > ので、これは: > > 「赤黒木が内部で用いるもの」 > > なんじゃないかな、と。 最初に、internals を言葉の面から考えてみます。 たしかに、"an internal airport telephon" は「空港の内線電話」、つまり 「内部で使う電話」だそうですから、internals を「内部で用いるもの」と 考えることもできるのかもしれません。 しかし、internals という複数名詞は、研究社リーダーズ辞典によれば、 n. [pl] <<事物の>>本質, 実質; [pl] 内臓, はらわた; [euph.] 膣[子宮]検査 だそうです。 つまり、普通は、「内部にあるもの(全体)、内部そのもの、物の内部状態、 物に内在する本質」などを言うのではないでしょうか(「内幕」なんて訳も、 場合によっては可能かもしれません)。 # ただし、外線と内線のように、はっきり内外で対立するものがある場合は、 # the internals で「内線電話」を指す、といった使い方ができるかも # しれません (本当にそういう使い方があるかどうか、知りませんけれど)。 次には文脈から考えてみます。sudoers.5 は「デバッグ・フラグ」セクション の冒頭で、こう説明しています。 Versions 1.8.4 and higher of the sudoers plugin supports a debugging framework that can help track down what the plugin is doing internally if there is a problem. わたしの訳も挙げておくと、 バージョン 1.8.4 以上の sudoers プラグインは、デバッグのための枠組みに 対応しており、問題が発生したときに、プラグインの内部で何が起きているか を突き止めるために、これを利用することができる。 ですから、"redblack tree internals" というのは、sudoers plugin が redblack tree による探索をしている最中に、どういうことが起きているかの 情報、ということではないでしょうか。 最後に、sudo-1.8.4 を実際に動かして、どうなるか試してみます。 sudo-1.8.4 を make したディレクトリから、./sudo -s などを実行する という安直なやり方ですから、あまり信用できないかもしれません。 /etc/sudo.conf にこう書いておきます。 Debug sudo /var/log/sudo_debug rbtree @ debug これで ./sudo -s を実行すると、/var/log/sudo_debug に次のような メッセージが記録されました。長いのではじめの 10 行だけ引用します。 ほとんど全部、こんな感じです。 Apr 15 17:12:58 sudo -> rbfind @ ./redblack.c:273 Apr 15 17:12:58 sudo <- rbfind @ ./redblack.c:280 := (nil) Apr 15 17:12:58 sudo -> rbinsert @ ./redblack.c:181 Apr 15 17:12:58 sudo <- rbinsert @ ./redblack.c:261 := (nil) Apr 15 17:12:58 sudo -> rbfind @ ./redblack.c:273 Apr 15 17:12:58 sudo <- rbfind @ ./redblack.c:277 := 0x176bd60 Apr 15 17:12:58 sudo -> rbcreate @ ./redblack.c:94 Apr 15 17:12:58 sudo <- rbcreate @ ./redblack.c:115 := 0x176c4b0 Apr 15 17:12:58 sudo -> rbfind @ ./redblack.c:273 Apr 15 17:12:58 sudo <- rbfind @ ./redblack.c:280 := (nil) redblack tree 関係の関数で何が起きているか、ということの情報 みたいですね。違うかもしれませんが。 とすると、"redblack tree internals" は、やっぱり「レッドブラック・ ツリーの内部情報」ぐらいでよいのではないでしょうか。「内部状態」 というのも考えましたけれど。 # この方法で、わたしが [JM:00581] に書いた、"sudo main function" や # "utility functions" の function(s) が関数か機能かも、調べられる # かもしれません。でも、そのことは、別のメールで。 -- 長南洋一