アカウント名:
パスワード:
ノイマン型コンピュータの基本構造は、その頃の発想から、実質まるで変わっていないし、変えたくても、互換性維持のためには変えられなかったのが、おそらく実情。
ハーバードアーキテクチャって聞いたことないの?
高級言語での保護も、言語レベルでの保護を捨てたCが普及してしまい
言語で保護するなんて意味ないでしょ。他の言語を使えばできるんだから。
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
ソースを見ろ -- ある4桁UID
要するに (スコア:1)
欠陥アーキテクチャのCPUを使ったシステム(Windowsに限らず)に
依存しているこの世の中って????
スタックオーバーフローなんて、OS/コンパイラー以前に
システム設計時につぶせるものだと思うのですが...。
^-_^-_-~
救世主はきっといる。
Re:要するに (スコア:5, 興味深い)
>システム設計時につぶせるものだと思うのですが...。
歴史的に言えば、サブルーチンは、かつて、自己書換プログラムとして実装されていた。(JMP命令しかなかった)
ノイマン型コンピュータの基本構造は、その頃の発想から、実質まるで変わっていないし、変えたくても、互換性維持のためには変えられなかったのが、おそらく実情。
実際、互換性を維持したまま高速化するの為のアーキテクチャ変更は、高度に進歩している。
OSでは、Multicsで、ハードレベルで複雑かつ高度な保護が考えられていた。が、それは滅びて、
-- Buy It When You Found It --
Re:要するに (スコア:0)
ハーバードアーキテクチャって聞いたことないの?
言語で保護するなんて意味ないでしょ。他の言語を使えばできるんだから。
Re:要するに (スコア:0)
アホか。
Re:要するに (スコア:1)
ノイマン型でもハーバードアーキテクチャならバッファオーバーフローによる不正な命令コードの実行なんて事態は絶対に発生しえない。
この問題はノイマン型であることに由来するものではない。
ということでしょ。
個人的には、引数だとかローカル変数というデータ情報とリターンアドレスというコード情報を同じスタックに積むというやり方が最大の問題でしょう。
Re:要するに (スコア:0)
『ハーバードアーキテクチャ』
今日ではこの用語は,単一の主記憶装置を有しているが,キャッシュ・メモリが命令用とデータ用に分離されているマシンを指すものとして使われている。
(ヘネシー&パターソン著 コンピュータ・アーキテクチャより)
『ハーバードアーキテクチャ』(@nifty デジタル用語辞典) [nifty.com]
『ハーバードアーキテクチャ』(アスキー デジタル用語辞典) [ascii24.com]
Re:要するに (スコア:1)
「今日では」って所が重要なのですが、
元々、「ハーバードアーキテクチャ」とは、命令用メモリとデータ用メモリが分離しているもの [google.co.jp]を指す言葉です。
今でもDSPとかに見られます。
それを、キャッシュメモリを命令用とデータ用に分離していることを指す言葉にも流用してるだけです。