アカウント名:
パスワード:
そこが間違ってるんだよ。
> 新しいOSを快適にするのが新しいハードウェアなのだが。
なんて発想が出てきたのは、たぶんWindows以降なんじゃないかな?
新しいCPUの性能を引き出すのは、OSではなくってコンパイラの仕事だったはず。OSってのは、ハードウェア動作を抽象化したりするのが、第一の目的のはず。新しいハードウェアの為に新しいOSが必要なんて、いつの時代のメインフレームだよ。
OSってのは、ハードウェア動作を抽象化したりするのが、第一の目的のはず。
ハードウェア動作を完全に抽象化できる性能を持ったシステムが作られたことは今までありません。完全に抽象化しようとすると遅いので妥協した実装をする。ハードが速くなったところで、あきらめていた抽象化の一部を復活させる。その代わりシステムは少し遅くなる。OSの進歩はその繰り返しです。
ハードの性能がたりないとき、かつて行われていた解決策は、ユーザープロセスから直接デバイスをたたくことでした。実際、昔のPC用のOSは、ユーザープロセスもスーパーバイザーモードで動いてます。これはマイクロソフトだけがそういう解を選択したわけではなく、MacOSもそうです。直接デバイスをたたくのは問題があるので、CPUの性能がある程度上がったとき、カーネル空間とユーザー空間は分離されます。このとき、システムとしての性能は落ちます。互換性も犠牲になります。これは一例にすぎません。ハードの性能が上がったときに、その一部を使って今まで性能的にあきらめていた機能をOSに追加するのは、従来から行われていたことです。
vista で大きくいじられたのがディスプレイとサウンドのドライバです。ディスプレイは扱うデータ量の大きさ、サウンドはリアルタイム性の問題があって、OSのあるべき姿を犠牲にして性能を上げるような作りになってきた部分です(本来ユーザー空間に出すべきものを、性能が足りないからという理由でカーネルに突っ込むなど)。そこで、今まで性能をかせぐために妥協してきたドライバのアーキテクチャを、構成しなおして本来あるべき姿に戻した。結果的に性能が犠牲になるというのは当然の成り行きです。
OSのあるべき姿を実現するには、現在のハードは全く性能が足りません。ハードの性能が上がれば、あるべき姿に近づけるため、あがった性能の一部が使われます。新しいOSが、前の世代のOSよりもリソースを食うのはマイクロソフトに限らず一般的な現象です。
そんなこと、使う側のユーザーにしてみればどうでもいい事ですよね。 ハードを直接叩こうが、枕をあてて引き金を引こうが。
ギークはギークってことですか、そうですか。
問題はこれまでに「Xpが快適に走る」というふれこみで何千万台と売りつけた128MB、512MB世代のPC(かつて高級PCだったもの)の落とし前をどうつけるかでしょう。MacやLinuxとは普及のレベルが違うのですよ。「スペックが上のものが出たからなんとなく買い替える」なんていうビジネスモデルが当たり前であるかのように定着されつつありますが、その社会的責任てどうなんでしょうね。、ということでしょう。
そんなこと、使う側のユーザーにしてみればどうでもいい事ですよね。
ユーザー空間とカーネル空間が分離されているかどうかなんて、使う側のユーザーにしてみれば、どうでもいいことですね。カーネルのソースを高級言語を使って書くなんてことも、使う側のユーザーにしてみれば、どうでもいいことですね。
とにかく速いほうがいいというのであれば、今でもユーザー空間とカーネル空間は分離されてないでしょうし、カーネルのソースに高級言語なんて論外、なんてことになるわけです。でも、そんなカーネルあり得ませんね。それは必要です。その変更がどうでもいいと思う人がいたら、それにどういう利益があるかを知らないだけの話です。
カーネルの安定性、セキュリティ、アプリケーションの書きやすさは、性能とトレードオフの面があります。それらの性質のために性能を犠牲にするのは、これまでも何回もおきていることで、特殊な話ではありません。
「これまで(XP以前)」と「これから(XP以降)」は違うでしょう。 XP以降、WindowsPCはギークのおもちゃのみならずそれまでパソコンなんて縁もなかったような層が使うようになって いわゆる会社のなかではボールペンみたいな存在になるまで広がったわけですよ。 いいですか?たとえば会社の購買が1000万本とか大量に購入した100円のボールペンの大部分がまだインクが残って使えるのに 「新式インクのボールペンが出ました、このインクは従来のペン本体ではサイズが合わなくて使えませんので捨てて買い替えてください」という文具メーカーの一声で会社の既存のボールペ
XP以降、WindowsPCはギークのおもちゃのみならずそれまでパソコンなんて縁もなかったような層が使うようになっていわゆる会社のなかではボールペンみたいな存在になるまで広がったわけですよ。
だから安定性とセキュリティが重要なわけです。特にセキュリティがとんでもなく重要ですね。vista だから安心というものではありませんが、XPはSP3だろうと危険すぎです。rootkit 対策のために何が必要か、考えたことがありますか?まじめに対策しようとすると、性能と互換性を犠牲にせざるを得ません。
Windows NTのディスプレイドライバは3.51までユーザー空間にあったけどね。4.0で退化したってことだよね。昔のUNIXはハードウェアを直接叩いてたなんて聞いたことないし。PCの世界しか知らないの?
UNIX系のグラフィックまわりで定番の、X Window System は、初期の実装から、今に至るまでずっと、カーネルに横穴ほってただの1アプリがハードを直接叩くのが基本です。階層がきちんと保たれてるのは、/dev/fb とか OS側が提供する標準のフレームバッファ機構を使う実装だけです
今は OpenGL 上の実装も存在してますが、UNIX むけ OpenGL実装が、これまた穴ほって直接ハードを叩くのが定番なので総体としては変わってません。
UNIX 系でこのあたりが「まとも」なのって OSX ぐらいです
> 新しいハードウェアを有効活用するのが新しいOSであり、新しいOSを快適にするのが新しいハードウェアなのだが。 に対して、新しいハードウェアのために、わざわざOSから書き起こす必要はないって事です。
「新しいOSを快適にするのが新しいハードウェア」という点には異議はないが、「新しいハードウェアを有効活用するのが新しいOS」に、異議があるということですね。元コメントで引用されていたのは、「新しいOSを快適にするのが新しいハードウェア」の部分だったのですが、まあそこは追及しないことにして、「新しいハードウェアを有効活用するのが新
いや、論点があやふやだった事は申し訳ないです。
> 「新しいOSを快適にするのが新しいハードウェア」という点には異議はないが、「新しいハードウェアを有効活用するのが新しいOS」に、異議があるということですね。
そこは分けて考えていただきたい。> 「新しいOSを快適にするのが新しいハードウェア」については、その考えは根本的にあやまっており、論外だと思ってます。
> 「新しいハードウェアを有効活用するのが新しいOS」という方では、「新しいハードウェアが出たからって、常に新OSが必要。」って考えも良くないぐらいの主張です。以下では、こっちの話だけします。
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
人生unstable -- あるハッカー
~すると~なら (スコア:0)
ことOSについてのみですが、これからはハードウェア要件が上がってしまうようなバージョンアップはもはや進化とは言えない時代に突入するような気がします。ハードウェアや上に載るユーザーアプリケーションを円滑に活用するための脇役は脇役として徹する覚悟がWindowsには欠落している気がします。それに引っ張られている他のOS群も似たり寄ったりと言えばそれまでですが。
Re: (スコア:0)
片輪走行がお好きですか?
Re: (スコア:1, 興味深い)
そこが間違ってるんだよ。
> 新しいOSを快適にするのが新しいハードウェアなのだが。
なんて発想が出てきたのは、たぶんWindows以降なんじゃないかな?
新しいCPUの性能を引き出すのは、OSではなくってコンパイラの仕事だったはず。
OSってのは、ハードウェア動作を抽象化したりするのが、第一の目的のはず。
新しいハードウェアの為に新しいOSが必要なんて、いつの時代のメインフレームだよ。
Re:~すると~なら (スコア:3, すばらしい洞察)
ハードウェア動作を完全に抽象化できる性能を持ったシステムが作られたことは今までありません。完全に抽象化しようとすると遅いので妥協した実装をする。ハードが速くなったところで、あきらめていた抽象化の一部を復活させる。その代わりシステムは少し遅くなる。OSの進歩はその繰り返しです。
ハードの性能がたりないとき、かつて行われていた解決策は、ユーザープロセスから直接デバイスをたたくことでした。実際、昔のPC用のOSは、ユーザープロセスもスーパーバイザーモードで動いてます。これはマイクロソフトだけがそういう解を選択したわけではなく、MacOSもそうです。直接デバイスをたたくのは問題があるので、CPUの性能がある程度上がったとき、カーネル空間とユーザー空間は分離されます。このとき、システムとしての性能は落ちます。互換性も犠牲になります。これは一例にすぎません。ハードの性能が上がったときに、その一部を使って今まで性能的にあきらめていた機能をOSに追加するのは、従来から行われていたことです。
vista で大きくいじられたのがディスプレイとサウンドのドライバです。ディスプレイは扱うデータ量の大きさ、サウンドはリアルタイム性の問題があって、OSのあるべき姿を犠牲にして性能を上げるような作りになってきた部分です(本来ユーザー空間に出すべきものを、性能が足りないからという理由でカーネルに突っ込むなど)。そこで、今まで性能をかせぐために妥協してきたドライバのアーキテクチャを、構成しなおして本来あるべき姿に戻した。結果的に性能が犠牲になるというのは当然の成り行きです。
OSのあるべき姿を実現するには、現在のハードは全く性能が足りません。ハードの性能が上がれば、あるべき姿に近づけるため、あがった性能の一部が使われます。新しいOSが、前の世代のOSよりもリソースを食うのはマイクロソフトに限らず一般的な現象です。
Re: (スコア:0)
そんなこと、使う側のユーザーにしてみればどうでもいい事ですよね。
ハードを直接叩こうが、枕をあてて引き金を引こうが。
ギークはギークってことですか、そうですか。
問題はこれまでに「Xpが快適に走る」というふれこみで何千万台と売りつけた128MB、512MB世代のPC(かつて高級PCだったもの)の落とし前をどうつけるかでしょう。MacやLinuxとは普及のレベルが違うのですよ。「スペックが上のものが出たからなんとなく買い替える」なんていうビジネスモデルが当たり前であるかのように定着されつつありますが、その社会的責任てどうなんでしょうね。、ということでしょう。
Re: (スコア:0)
ユーザー空間とカーネル空間が分離されているかどうかなんて、使う側のユーザーにしてみれば、どうでもいいことですね。カーネルのソースを高級言語を使って書くなんてことも、使う側のユーザーにしてみれば、どうでもいいことですね。
とにかく速いほうがいいというのであれば、今でもユーザー空間とカーネル空間は分離されてないでしょうし、カーネルのソースに高級言語なんて論外、なんてことになるわけです。でも、そんなカーネルあり得ませんね。それは必要です。その変更がどうでもいいと思う人がいたら、それにどういう利益があるかを知らないだけの話です。
カーネルの安定性、セキュリティ、アプリケーションの書きやすさは、性能とトレードオフの面があります。それらの性質のために性能を犠牲にするのは、これまでも何回もおきていることで、特殊な話ではありません。
Re: (スコア:0)
「これまで(XP以前)」と「これから(XP以降)」は違うでしょう。
XP以降、WindowsPCはギークのおもちゃのみならずそれまでパソコンなんて縁もなかったような層が使うようになって いわゆる会社のなかではボールペンみたいな存在になるまで広がったわけですよ。
いいですか?たとえば会社の購買が1000万本とか大量に購入した100円のボールペンの大部分がまだインクが残って使えるのに 「新式インクのボールペンが出ました、このインクは従来のペン本体ではサイズが合わなくて使えませんので捨てて買い替えてください」という文具メーカーの一声で会社の既存のボールペ
Re: (スコア:0)
だから安定性とセキュリティが重要なわけです。特にセキュリティがとんでもなく重要ですね。vista だから安心というものではありませんが、XPはSP3だろうと危険すぎです。rootkit 対策のために何が必要か、考えたことがありますか?まじめに対策しようとすると、性能と互換性を犠牲にせざるを得ません。
Re: (スコア:0)
Windows NTのディスプレイドライバは3.51までユーザー空間にあったけどね。4.0で退化したってことだよね。
昔のUNIXはハードウェアを直接叩いてたなんて聞いたことないし。PCの世界しか知らないの?
Re: (スコア:0)
昔のUNIXというのがどの位昔を指すのか不明ですが、
90年代に使ったことのあるIRIX、SunOS4.x、HP-UX、HI-UXでは、特殊デバイスは全てハードウェアを直叩きでした。
Re: (スコア:0)
UNIX系のグラフィックまわりで定番の、X Window System は、初期の実装から、
今に至るまでずっと、カーネルに横穴ほってただの1アプリがハードを直接
叩くのが基本です。階層がきちんと保たれてるのは、/dev/fb とか OS側が
提供する標準のフレームバッファ機構を使う実装だけです
今は OpenGL 上の実装も存在してますが、UNIX むけ OpenGL実装が、
これまた穴ほって直接ハードを叩くのが定番なので総体としては変わってません。
UNIX 系でこのあたりが「まとも」なのって OSX ぐらいです
Re: (スコア:0)
OSはハードウェアを抽象化して、アプリケーションの機種間での依存を減らすことを目的としています。
それに対して、Windowsが完全にハードウェアを抽象化できていなとか、
期待した性能を達成できないからハードウェアをバイパスしてアクセスしているとか、
実装上にそうした問題が依然として存在することは、まったく関係がありません。
言いたかった事は、そんな複雑な話ではなくって、
> 新しいハードウェアを有効活用するのが新しいOSであり、新しいOSを快適にするのが新しいハードウェアなのだが。
に対して、新しいハードウェアのために、
わざわざOSから書き起こす必要はないって事です。
Re: (スコア:0)
「新しいOSを快適にするのが新しいハードウェア」という点には異議はないが、「新しいハードウェアを有効活用するのが新しいOS」に、異議があるということですね。元コメントで引用されていたのは、「新しいOSを快適にするのが新しいハードウェア」の部分だったのですが、まあそこは追及しないことにして、「新しいハードウェアを有効活用するのが新
Re: (スコア:0)
いや、論点があやふやだった事は申し訳ないです。
> 「新しいOSを快適にするのが新しいハードウェア」という点には異議はないが、「新しいハードウェアを有効活用するのが新しいOS」に、異議があるということですね。
そこは分けて考えていただきたい。
> 「新しいOSを快適にするのが新しいハードウェア」
については、その考えは根本的にあやまっており、論外だと思ってます。
> 「新しいハードウェアを有効活用するのが新しいOS」
という方では、「新しいハードウェアが出たからって、常に新OSが必要。」って考えも良くないぐらいの主張です。
以下では、こっちの話だけします。