物理メモリと仮想メモリ内のファイル(ハードドライブなど)の変数をコンピュータがどのように割り当てるかをコンピュータが判断する方法。どちらのメモリストレージタイプでもほとんどランダムに見えますが、すでに別のプロセスで占有または割り当てられているハードドライブのメモリアドレスまたはセクタ(任意の場所)にデータを格納することができないためではありません。私が古いW95システム上でNortonのスピードディスク(ハードドライブ上のファイルをデフラグメントするプログラム)を研究していたとき、私はプログラムのハードドライブのデータ(色分けされた異なるデータタイプのビジュアルマップ、例えばスワップファイル一番上にあった。)、未使用領域が空いているハードディスク全体に広がった多くのファイルで構成されていた。加えて、これらの領域のいくつかでは、データと空きスペースが混在しているように見えるものが不規則なパターンを見せていました。私はそれが起こるためにそのランダムを考えたいと思う。私がCで書いた簡単なプログラムのメモリアドレスを勉強していたとき、変更後のプログラムを再コンパイルした後のプログラムの各バージョンが、セグメントとオフセットのアドレスが違うことに気付きました。私はコンピュータを再コンパイルするときに同じアドレスを使用することを期待していました。ときどき同じアドレスが使用され、それ以外のときは別のアドレスが使用されることがあります。繰り返しますが、プログラムによって選択されるメモリ位置についてもランダムであると考えています。私はメモリ割り当てやファイルの書き込みは、連続して書かれた最初の空きスペースに基づいていると思いました。物理メモリと仮想メモリのデータ割り当ての動作
一般的なコンピュータのロジック作業でどのようにデータがどのような場所(物理RAMまたはダイナミック)でデータを書き込むかを決めるのは私の質問です。 ?コンピュータサイエンスのどの領域(アセンブリ言語でない場合)を、これを説明する勉強する必要がありますか、ほとんどランダムな動作ですか?アドバンス
フラットメモリモデルがセグメント化されたメモリタイプに取って代わると、私はページングがなくなったと思った – kjwilliams
プログラマはフラットなメモリ空間のように感じられますが、フラットではありません。特にマルチスレッド/スレッドシステムでは、オペレーティングシステムにとってフラットなメモリ空間のように見えるものの上に、すべてのアプリケーション(LinuxとWindowsの2つの例です)に同じメモリモデルの外観を与えるためにMMUが使用されます。 –
Apple Computerでは、メモリ配分やファイルマッピングのために彼らのブランドにとっては難解な別の方法を使用していますか、またはLinuxやWindowsと同様のアイデアをコピーしていますか? – kjwilliams