Re: 64 bit chip, os, and application
しらいです。
In article <ul8sm5ia6rg.fsf@pine.yorie.netside.co.jp>,
MOCHIDA Shuji <mochid@netside.co.jp> wrote:
>持田@NETside です。
>> なお、LFS については下記 URL を参照して下さい。
>> http://ftp.sas.com/standards/large.file/
>
> 「LFS? なんじゃそりゃ」ってずっと思いながら記事読みましたが、
>上記 Web ページの一体どこに LFS って書いてあります?
acronym なんて複数の意味があって当たり前なので、どの「LFS」
なのか示すためにわざわざ URL 挙げてあるんですから、ちょっと
くらいは読んで下さいよ。
その URL の一番先頭に 貼ってある gif に「Large File Summit」
って書いてありますし、link を辿ればその次の web page に「LFS」
というそのものの文字列も出て来る筈です。
http://ftp.sas.com/standards/large.file/x_open.20Mar96.html#1.0
自分が知らない用語が出て来たくらいで目くじら立てないで下さ
いな。
# google ってみると「Large File Support」の acronym として
#使っているケースも散見されますが、意味はどうも同じようです。
> んで、BSD で lseek(2) の引数は Net/2 で既に 64bit だったはず。
>Fat Fast Filesystem で検索すると「4.3 BSD Tahoe release の
>Fat Fast Filesystem」とか出てくるので、Tahoe からかも。
Unix Archive Site (http://www.tuhs.org/archive_sites.html)
で各種 kernel source 拾って来て調べてみました。
kernel 側の lseek() の実装では、第二引数は 3BSD の頃からず
っと off_t で記述されていますので、lseek() が 64bit 対応かど
うかは off_t の実体で決まると思います。
世代を順に追っていくと、Net/2 くらいまでは off_t の実体は
long になっているので実装依存だったでしょう。これが明示的に
quad_t (long long) になったのは、4.4BSD-Alpha からみたいです。
尤も、long long 型が現れたのは C99 からなので、4.3BSD 時代
には 64bit 幅整数を構造体以外では表しようがなかったんでしょ
うけどね。
--
しらい たかし
Fnews-brouse 1.9(20180406) -- by Mizuno, MWE <mwe@ccsf.jp>
GnuPG Key ID = ECC8A735
GnuPG Key fingerprint = 9BE6 B9E9 55A5 A499 CD51 946E 9BDC 7870 ECC8 A735