68user's page 掲示板

Prev< No. 313〜314> Next  [最新発言に戻る] [過去ログ一覧]
No. 313 # 68user 1999/05/30 (日) 09:11
> ただ、私の周りにはちょっと偏屈な技術者が多く、人間性は信じら
> れない人がおおいです。
ん〜、まぁ初心者の程度にもよるかと。僕の場合、自分で調べようと
しない人、一度聞いたことを覚えようとしない(メモを取らない)人には、
教えたくないですね。

もちろん、
> 初心者を馬鹿にしきった口振りや態度
がよろしくないのは当然ですが、教えをられる側の程度にも
よるのではないかと思います。

> たとえば、とほほさんとは何度かメールのやり取りをしてますが、
> プログラマーな人なのに、おおらかな人間性を感じました。
いや〜僕はあんなに心が広くないので(^^;

ちなみに僕は他人に(直接面と向かって)教えてると、だんだん
不機嫌になってきますので、あまり教えないようにしてます(笑)。

No. 314 # 68user 1999/05/30 (日) 09:13
> その中で、S_IFDIR とかを #defined した stat.h を探すのに
> 手間取ってしまいました。
stat(2)を見るのが一番早いんじゃないでしょうか。

> 0x0200 save swapped text even after use
sticky bitです。chmod 1755、chmod u+t などとすればこのビットを立てられます。

以下、知ってたらごめんなさいな説明。

昔のUNIXでは仮想記憶はなく、実メモリと HDD上のスワップ領域の
2本立てでした。で、sticky ビットが立っているファイル(実行ファイル?)
のテキスト領域は、実行後もスワップ領域に保持され、再実行する際は
高速に実行できるようになっていました。つまり頻繁に使うプログラムの
stickyを立てておけば高速に実行が可能だったわけです。

しかし、現在のコンピュータはキャッシュや仮想領域が進化したので、
stickyビットの重要性はなくなりました。FreeBSDではファイルに
対する stickyビットは無視されています。
# ここらへんは、正しいことを書いているかどうか自信がありません。

一方ディレクトリに対する stickyはちゃんと意味があって、
誰でもその下にファイルを作成することはできるけど、削除する際は
ファイルのオーナーしか削除できないという意味があります。
/tmp がいい例ですね。
    % ls -ld /tmp
    drwxrwxrwt 18 bin bin 1536 May 30 07:57 /tmp/

> 0xE000 whiteout
うーん、ローカルの全ファイルに対して、このビットが立ってるか
どうか調べてみたんですが、1つもありませんでした。なんでしょうね?

> 下の方が真となって、ブロックデバイスと
> 出たのですが(STDINも同じ)
僕のまわりのFreeBSD/Solarisでは、STDIN/STDOUTともに、普通の状態だと
キャラクタデバイス(ttyですな)、ファイルにリダイレクトするとregular、
パイプならFIFOになりました。CGI上で実行すると、IN/OUTともFIFOでした。
# http://X68000.startshop.co.jp/~68user/tmp/mode.txt
# http://X68000.startshop.co.jp/~68user/tmp/mode.cgi

> これってウチのWebサーバーがCGIの標準出力を一旦ファイルに
> リダイレクトしているということなのでしょうか?
mmさんのところってHPですから(でしたよね?)、実装の違いがあるの
かもしれないので、僕の知識では何とも言いがたいです。

Prev< No. 313〜314> Next  [最新発言に戻る] [過去ログ一覧]