このメールは、OSASK-ML投稿フォームから書き込まれた内容です。 お名前: hu-go [OSASK 6570]へのレスです >「軽い機能しか実装しない」なんていう方針ではない、という説明がどうしてそんな話に飛躍するのでしょうか。 誤解しないで下さい。私は「質問」をしたまでです。 >・ファイルへのアクセス方法をメモリマップトファイルのみ限定する >・セグメンテーションを利用できるようにする >ということを「OSの設計である」と思っています。 >>何故なら、どんなOS(Windows,Mac,Linux...)でも出来るだけ軽くなる >>ように実装するのは当然のことだからです。 >実際はとてもそうであるようには思えません。 それは絶対にないと言い切れます。 自分の作っているOSを、意図的に重くしようと企てる人が存在すると思いますか? >多分これらの開発者は移植性や互換性を保つことや機能を追加していくことで手いっぱいで、本質的にいらなくなったAPIを切り捨てるとか、API体系の統廃合をするとか、そういうことをやっていないと思います。 Linuxの基本的な方針と言うのは実は「APIは追加しない」ことなのです。 APIを追加することによる悪夢とは、バージョンが進んだ時にもそのAPIを含めないと互換性がなくなってしまうので、あとあと、管理が大変になる(Windowsなんかは昔のAPIを残すことによってどんどん繁雑になっていってますね)ことです。 Linuxは最近はあまりAPIの追加がなされていません。 glibcなどの基本ライブラリも同じですね。 実際、Linux上のアプリケーションは成熟しているわけですし、これ以上のAPIが必要にせまられていないということもありますが。 >互換性を捨ててすっきりする道を選ぶこともできたはず 互換性を持ったまますっきりする道を選ぶのがベターでしょう。 >エミュレーションしやすいAPI構造にすることもできたはずです エミュレーションしやすいAPI構造というのは本質的に無いでしょう。 川井さんは数値計算に向いたAPI構造、マルチメディア処理に向いたAPI構造.....があると思っているのかも知れませんが、それは間違いです。 エミュレータのシステムコールも、数値計算プログラムのシステムコールも、マルチメディアプレイヤーのシステムコールも本質的には同じものであることは、システムコールをトレースしてやれば良く分かると思います。 あらゆる局面において速いAPIとは、BIOSな訳ですね(笑 >Linuxでは、どんなAPI呼び出し方法がいいのかとか、セグメンテーションを使うべきか、なんていう議論はありません ページキャッシュの扱い方、メッセージキューの方式、コールゲートの使い方.....などあらゆる議論がされていますよ。 >(もしかしたら僕の知らないところであったのかもしれません。ご存知だったら教えてください)。 本当に知ろうとしていますか?