ホームページ よくある問題 仮想メモリはコンピュータのメモリの一部ですか?

仮想メモリはコンピュータのメモリの一部ですか?

Aug 19, 2020 pm 03:19 PM
仮想メモリ コンピュータのメモリ

仮想メモリは、コンピュータの物理メモリの一部です。仮想メモリはコンピュータ システムのメモリ管理テクノロジであり、通常は複数の物理メモリ フラグメントに分割され、一部は必要に応じてデータ交換のために外部ディスク ストレージに一時的に保存されます。

仮想メモリはコンピュータのメモリの一部ですか?

#オペレーティング システムには、仮想メモリと物理メモリの概念があります。仮想メモリの概念がなかった昔、プログラムはアドレス指定に物理アドレスを使用していました。プログラムがアドレス指定できる範囲は、CPU のアドレス線の数に応じて制限されます。たとえば、32 ビット プラットフォームでは、アドレス範囲は 2^32、つまり 4G です。仮想メモリがなく、プロセスが開始されるたびに 4G の物理メモリが与えられると、多くの問題が発生する可能性があります:

  • 物理メモリが限られているためです。 , 実行するプロセスが複数ある場合、4Gのメモリを割り当てる必要がありますが、明らかにメモリが小さければすぐに割り当てられるため、リソースが割り当てられていないプロセスは待つことしかできません。プロセスの実行が終了すると、待機中のプロセスがメモリにロードされます。この頻繁なメモリのロード操作は非常に非効率です

  • 命令は物理メモリに直接アクセスするため、プロセスは他のプロセスのデータを変更したり、カーネル アドレスのデータを変更したりする可能性があります。スペースは見たくないものです。

  • メモリはランダムに割り当てられるため、プログラムが実行されるアドレスも正しくありません。

そこで、上記で発生するさまざまな問題に対応して登場したのが、仮想メモリです。

プロセスの実行中に、4G の仮想メモリが取得されます。この仮想メモリについて考えてみましょう。各プロセスは自分に 4G のスペースがあると考えています。これは各プロセスが考えているだけです。しかし、実際には、仮想メモリに対応する物理メモリは少量の物理メモリにしか対応していない可能性があります。実際には、 , メモリの使用量は、物理メモリの使用量に対応します。

プロセスによって取得される 4G 仮想メモリは連続したアドレス空間です (これはプロセスが認識しているだけです)。しかし実際には、通常は複数の物理メモリ フラグメントに分割されており、一部は外部ディスクに保存されます。 . メモリ上では、必要に応じてデータのやり取りが行われます。

プロセスがアドレスへのアクセスを開始すると、次のプロセスが実行される場合があります。

  • アドレス空間内のアドレスにアクセスする必要があるたびに、アドレスを変換する 実際の物理メモリ アドレスについては

  • #すべてのプロセスがこの物理メモリ全体を共有し、各プロセスは現在必要な仮想アドレス空間を物理メモリにマップするだけです

  • プロセスは、アドレス空間内のどのデータが物理メモリにあるのか、どれが物理メモリにないのか (おそらくこの部分はディスクに保存されている)、および物理メモリのどこにデータがあるのか​​を知る必要があります。ページ テーブルを通じて記録

  • ページ テーブルの各エントリは 2 つの部分に分かれています。最初の部分では、ページが物理メモリ内にあるかどうかが記録され、2 番目の部分ではページのアドレスが記録されます。物理メモリ ページ (存在する場合)

  • プロセスが仮想アドレスにアクセスすると、最初にページ テーブルが参照され、対応するデータが物理メモリに存在しないことが判明した場合は、

  • ページ欠落例外の処理プロセスでは、オペレーティング システムは直ちにプロセスをブロックし、対応するページをハードディスクからメモリにスワップし、メモリがいっぱいで空き領域がない場合は、ページ カバレッジを見つけます。具体的にどのページがカバーされるかは、オペレーティング システムのページ置換アルゴリズムの設計によって異なります。

仮想メモリと物理メモリの関係については、次の図がわかりやすくなります。

仮想メモリはコンピュータのメモリの一部ですか?

ページテーブルの動作原理は次のとおりです。

仮想メモリはコンピュータのメモリの一部ですか?

  • 私たちの CPU は次のことを望んでいます。仮想アドレスにアクセスします。ページ テーブルに従って、それが配置されている仮想ページ (VP3) について、ページ テーブルの 3 番目のエントリの値を見つけ、有効ビットを決定します。有効ビットが 1 の場合、DRMA キャッシュがヒットし、物理ページ番号に基づいて物理ページ内のコンテンツが検索されて返されます。

  • 有効ビットが 0 の場合、パラメータ ページ フォールト例外が発生し、カーネル ページ フォールト例外ハンドラが呼び出されます。カーネルは、ページ置換アルゴリズムを通じて上書きされるページとしてページを選択し、ページのコンテンツをディスク領域に更新します。次に、VP3 マップされたディスク ファイルを物理ページにキャッシュします。次に、ページ テーブルの 3 番目のエントリの有効ビットが 1 になり、2 番目の部分に物理メモリ ページのアドレスに対応できる内容が格納されます。

  • ページフォールト例外処理後、中断前の命令に戻って再実行すると、キャッシュがヒットして1を実行します。

  • 見つかったコンテンツを通知キャッシュにマッピングすると、CPU は通知キャッシュから値を取得して終了します。

#仮想メモリの仕組みを要約しましょう

各プロセスが作成されると、カーネルは 4G の仮想メモリをプロセスに割り当てます。プロセスが実行を開始していないとき、これは単なるメモリ レイアウトです。実際、仮想メモリ内の対応する位置にあるプログラム データとコード (.text.data セグメントなど) は、すぐに物理メモリにコピーされるわけではなく、仮想メモリとディスク ファイル (メモリと呼ばれる) の間のマッピングにすぎません。マッピング)。この時点では、データとコードはまだディスク上にあります。対応するプログラムが実行されると、プロセスはページ テーブルを検索し、ページ テーブル内のアドレスが物理メモリではなくディスク上に格納されていることが判明するため、ページ フォールト例外が発生し、ディスク上のデータがコピーされます。物理メモリに。

また、プロセスの実行中に、malloc を通じてメモリが動的に割り当てられると、仮想メモリのみが割り当てられ、この仮想メモリに対応するページ テーブル エントリがそれに応じて設定されます。 this データが取得されると、ページ フォールト例外がトリガーされます。

仮想空間はディスク領域にマッピングされていると考えることができます (実際には、仮想空間とディスク領域の間のマッピング関係を確立するために使用される mmap を通じて、必要に応じてディスク領域にもマッピングされます)。

仮想メモリ機構を利用する利点

  • #各プロセスのメモリ空間は一貫していて固定されているため (32 ビット プラットフォームでは 4G) ), したがって、実行可能ファイルをリンクするとき、リンカはデータの最終的な実際のメモリ アドレスを気にせずにメモリ アドレスを設定できます。これは、マッピング関係を完了するためにカーネルに任されます

  • #異なる場合 プロセスが同じコード部分 (ライブラリ ファイルのコードなど) を使用する場合、そのようなコードのコピーは物理メモリに 1 つだけ保存できます。異なるプロセスは、独自の仮想メモリをその仮想メモリにマップするだけで済みます。物理メモリを節約できる

  • プログラムが連続領域を割り当てる必要がある場合、仮想メモリに連続領域を割り当てるだけでよく、連続物理メモリは必要ありません。実際、物理メモリは多くの場合、断続的な記憶の断片。このようにして、物理メモリを効果的に活用できます。

関連知識の詳細については、

PHP 中国語 Web サイト をご覧ください。

以上が仮想メモリはコンピュータのメモリの一部ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

win11システムで仮想メモリを調整するにはどうすればよいですか? Win11システム仮想メモリ設定ガイド win11システムで仮想メモリを調整するにはどうすればよいですか? Win11システム仮想メモリ設定ガイド Jan 29, 2024 pm 06:45 PM

仮想メモリは、ソフトウェア メモリの不足を補い、より良いユーザー エクスペリエンスを提供できるテクノロジです。ただし、Windows 11 システムにアップグレードした後、仮想メモリを設定する方法がわからないユーザーもいるかもしれません。この問題を解決するために、当サイト編集者が最新の設定方法を提供します。完全な手順を知りたい場合は、このサイトにアクセスして詳細をご覧ください。 win11で仮想メモリを設定する方法 1. まず、キーボードのwinボタンを押し、クリックして設定ページを見つけて入力します。 3. 次に、関連リンクで詳細システム設定オプションを見つけます。 5. ジャンプ後のページで、仮想メモリを見つけて変更ボタンをクリックします。

Windows 10のレッド・デッド・リデンプション2で仮想メモリ不足の問題を解決する効果的な方法 Windows 10のレッド・デッド・リデンプション2で仮想メモリ不足の問題を解決する効果的な方法 Dec 31, 2023 pm 04:29 PM

Red Dead Redemption 2 をプレイするときに多くの友人が遭遇する最大の問題は、仮想メモリが不足しているというプロンプトです。では、この問題を解決するにはどうすればよいでしょうか?今日は、ぜひ参考にしていただきたい解決策をご紹介しました。 Windows 10 上のレッド・デッド・リデンプション 2 で仮想メモリが不足している場合の対処方法: 1. このコンピューターを右クリックし、「プロパティ」をクリックします。 2. 左側の「システムの詳細設定」をクリックします。 3. 次に、「詳細設定」をクリックし、「設定」をクリックします。 4. パフォーマンスの「詳細」をクリックし、仮想メモリの「変更」を選択します。 5. 「すべてのドライブのページング ファイル サイズを自動的に管理する」の前にある√を解除し、「カスタム サイズ」をクリックして値を入力し、「設定」をクリックします。

適切な仮想メモリ設定は何ですか? 適切な仮想メモリ設定は何ですか? Feb 23, 2024 pm 03:34 PM

物理メモリのサイズによって異なります。具体的な提案: 1. Microsoft の推奨に従って、仮想メモリは物理メモリ容量の 1.5 ~ 3 倍に設定する必要があります; 2. 物理メモリが 2G の場合、仮想メモリは 3G=3072MB に設定する必要があります。 4G の場合は仮想メモリ メモリは 6G=6144MB に設定する必要があります; 3. 通常、仮想メモリはコンピュータの合計メモリの 1.5 ~ 2 倍に設定することをお勧めします; 4. 通常は物理メモリと同様です。

Windows 11で仮想メモリ(ページファイル)を増やす方法 Windows 11で仮想メモリ(ページファイル)を増やす方法 May 13, 2023 pm 04:37 PM

ハイエンドのアプリケーションやゲームを実行しているときにある程度の遅れに気づいた場合は、RAM/メモリが通常フルで実行されている可能性があります。ここで、Windows 11 の仮想メモリまたはページ ファイル サイズを増やします。仮想メモリまたはページ ファイルは最も誤解されている概念の 1 つであり、それを取り巻く神話は数多くあります。他の人が何を言おうと、何をしようと、コンピューターから最高のパフォーマンスを引き出す方法を徹底的に理解することが重要です。次のセクションでは、Windows 11 で仮想メモリを増やす手順を説明し、その重要性と最適な仮想メモリ サイズを理解できるようにします。なぜ仮想メモリが必要なのでしょうか?ページ ファイルまたは仮想メモリは、基本的に RAM として使用されるハード ドライブの一部です。メモリがいっぱいでこれ以上データを保存できない場合

Windows 11で仮想メモリ(ページファイル)をリセットするにはどうすればよいですか? Windows 11で仮想メモリ(ページファイル)をリセットするにはどうすればよいですか? Apr 13, 2023 pm 11:28 PM

コンピューターに十分な RAM がないか、常に空き容量がない場合は、仮想メモリを利用して非アクティブなファイルを物理メモリからアンロードできます。ただし、これがうまくいかない場合は、Windows 11 の仮想メモリをリセットする必要がある場合があります。コンピューターの動作が遅くなることがよくありますが、これはおそらく Windows 11 での RAM の使用量が多いことが原因と考えられます。 RAM の消費量を減らす方法はありますが、エクスペリエンスに影響を与える可能性があります。そして、ここで仮想メモリが役に立ちます。 Windows 11 では仮想メモリをリセットする必要がある場合があるため、概念とプロセスを正しく理解することが重要です。これについては次のセクションで説明します。仮想メモリはどのように機能するのか、なぜ再インストールする必要があるのか

仮想メモリの割り当て: 16g は適切な設定ですか? 仮想メモリの割り当て: 16g は適切な設定ですか? Feb 19, 2024 pm 07:42 PM

16G 仮想メモリの適切な設定は何ですか?仮想メモリは、ハード ディスク領域の一部をメモリの拡張として使用することにより、システムの動作効率を向上させることができるコンピュータ システムのテクノロジです。オペレーティング システムにとって、仮想メモリは非常に重要なリソースであり、不要なデータを一時的に保存するために使用され、物理メモリを解放して他のプログラムが使用できるようになります。では、16G の物理メモリを備えたコンピュータの場合、仮想メモリのサイズはどのように設定すればよいのでしょうか?仮想メモリのサイズはオペレーティング システムによって自動的に管理されますが、手動で管理することもできます。

Win10 の適切な仮想メモリ設定は何ですか? Win10 の適切な仮想メモリ設定は何ですか? Jan 15, 2024 am 08:03 AM

実際、いわゆる仮想メモリは、実際にはハードディスク上に切り取られた大きな特別な領域であり、Windows システムによってメモリとして使用されます。理想的な仮想メモリ サイズはどのように設定できますか? win10 に適切な仮想メモリ設定は何ですか? 回答: win10 に最も適切な仮想メモリ設定は、物理メモリの 1.5 倍です。これは参考値であり、具体的な設定方法は実際の状況によって異なりますが、最小設定範囲は物理メモリの 1 ~ 1.5 倍、最大設定範囲は物理メモリの 2 ~ 2.5 倍以内です。 、右側のリンクをクリックして詳細を表示します。コンテンツ。 (Win10の仮想メモリ設定方法) win10の仮想メモリはどのドライブに設定するのが最適ですか? 回答: Win10の仮想メモリはCドライブに設定するのが最適です。なぜなら

Win11 の仮想メモリ設定を最適化するにはどうすればよいですか? Win11 で仮想メモリを構成する最良の方法 Win11 の仮想メモリ設定を最適化するにはどうすればよいですか? Win11 で仮想メモリを構成する最良の方法 Jan 30, 2024 pm 05:54 PM

システム メモリ不足に頻繁に悩まされる場合は、仮想メモリを設定することで問題の解決を試みることができます。仮想メモリにより、コンピュータの遅延をある程度軽減できます。ただし、Win11 システムに慣れていないユーザーにとって、仮想メモリの設定方法が明確ではない場合があります。以下では、Win11システムで仮想メモリを設定する方法を説明します。 win11の適切な仮想メモリ設定は何ですか? 1. コンピュータのメモリが 4GB 未満の場合、通常は仮想メモリを 2 ~ 4GB の間に設定できます。理論上、仮想メモリは物理メモリの 1.5 倍に設定できますが、実際の使用では必要に応じて柔軟に調整でき、固定的な数値要件はありません。物理メモリと一致するように仮想メモリを設定することもできます