OSの仮想メモリ:それは何であり、どのように機能するか

公開: 2022-04-22

個人として、私たちは常に私たちの生活のさまざまな分野で仕事をやりくりしています。 私たちがコンピューターで作業しているときも同じことが言えます。 複数のアプリケーションまたはブラウザタブを一度にロードします。

ただし、アクティブに実行されているアプリケーションを格納するメモリの一部であるRAMは有限です。 したがって、RAMが最終的になくなるため、アプリケーションのロードには制限があります。 これが、コンピュータアーキテクチャの仮想メモリの出番です。

OSの仮想メモリとは

これは、セカンダリメモリの一部が一時的に追加のRAMとして扱われるオペレーティングシステムの機能です。 このように、仮想メモリを使用すると、実際のRAMの不足を補うことができます。

最近のアプリケーションの複雑さとサイズを考えると、仮想メモリは非常に重要です。 仮想メモリとは何かについて話し合い、この概念をよりよく理解しましょう。

目次

オペレーティングシステム(OS)の仮想メモリとは:概要

仮想メモリまたは仮想RAMは、セカンダリメモリまたは揮発性メモリのセクションが一時的にメインメモリとして扱われるオペレーティングシステム(OS)によるメモリ管理のメカニズムです。 これは、最近使用されていないデータをRAMからハードドライブやソリッドステートドライブなどのディスクストレージに交換することで実現されます。 データが必要になると、元のRAMにコピーされます。

これは、RAMが不足していて、複数のプロセスが同時に進行している場合に発生します。 仮想ストレージを使用すると、ユーザーは実際に使用可能なプライマリメモリよりも大量の計算プロセスをロードできるため、大規模なプログラムに役立ちます。 オペレーティングシステムは、マルチタスクに必要な個別のプロセスのさまざまな部分をメインメモリにロードすることもできます。

ただし、データを頻繁に交換する必要がある場合は、コンピュータシステムの速度が低下する可能性があります。 仮想メモリは通常、デマンドセグメンテーションとデマンドページングによって実装されます。 仮想メモリの実装を説明するには、デマンドページングの知識が不可欠です。

基本的な用語

  • プログラム:コンピューターでタスクを実行するための一連の命令

  • プロセス:オペレーティングシステムのプロセスは、プログラムコードを順番に実行するためのアクティビティです。

  • スレッド:プログラムの実行中にたどったパス。 オペレーティングシステムには、1人のユーザーによる複数の要求を最適に管理するマルチスレッド機能があります。

  • ページ:オペレーティングシステムでは、メモリはページと呼ばれる単位に分割されます。 これらのページは、プログラムの保存に使用されます。

推奨読書:ストレージデバイスとは何ですか、そしてそれらはどのように機能しますか

デマンドページングとは何ですか?

デマンドページングは​​、仮想メモリ管理のために、すべてのページをセカンダリメモリの計算プロセスに格納するプロセスです。 どのページをメインメモリの一部にするか、どのページを仮想メモリの下に置くかを決定することは、実際の要件の前に予測するのが難しい場合があります。 そのため、事前にメインメモリにページが読み込まれることはありません。

メインメモリでは、ページが最初に参照されるときに、そのページはセカンダリメモリに存在します。 置換されるページは、使用可能なさまざまなページ置換アルゴリズムによって決定されます。 したがって、ページは後でメインメモリで使用できる場合とできない場合があります。

現時点で計算プロセスに必要なページのみがロードされ、他のページはオンデマンドまたはページフォールトの望ましくない発生時にスワップされます。 仮想メモリは通常、この手法で実装されます。

OSで動作する仮想メモリの説明

仮想メモリのしくみ

オペレーティングシステムの仮想メモリとは何かがわかったところで、その動作についても理解しましょう。

プロセスの実行中に、ロードする必要のあるプログラムにメインメモリが使用できない場合は常に、オペレーティングシステム(OS)が、これらのプログラムをページ形式で保存するためのスペースを自動的に作成します。

これは、RAM内で最も使用されていない領域または参照されている領域をセカンダリメモリのセクションにコピーすることによって行われます。 したがって、仮想メモリはこのデータで構成されます。

一部またはページが必要な場合は、メインメモリにロードされます。 オペレーティングシステムは、定義された数のアドレスを持つメモリをスワップファイルまたはページファイルに分割します。 そのメモリ管理ユニットは、データをコピーしながら仮想アドレスを実際のアドレスに変換します。

メモリマネージャは、物理メモリと仮想メモリの間のすべてのシフトを追跡します。 このようにして、物理メモリに完全にロードできないプロセスも実行されます。

推奨読書:2022年の12の最高の無料のAndroidデータ回復ソフトウェアのリスト

たとえば、RAMにX MBの使用可能な物理メモリがあるが、実行中のプログラムを格納するためにOSがYMB多くのメモリを必要としているとします。 次に、Y MBの仮想メモリがセットアップされ、オペレーティングシステムによってアドレス指定されます。 ハードディスクまたはSSD上のYMBサイズのファイルは、追加のメモリを保存します。 仮想メモリのサイズは、使用可能なディスクストレージによって異なります。

コンピュータアーキテクチャの仮想メモリが不足し始めた場合は、ページングファイルのサイズを増やすか、追加のRAMを購入する必要があります。

オペレーティングシステムで仮想メモリを管理する方法は?

オペレーティングシステムの仮想メモリについて説明する

仮想メモリは、追加のRAMとして使用されるディスクストレージで構成されます。 プロセスおよびアプリケーション用にOSの仮想メモリとして定義できるハードドライブスペースの量は、デフォルト設定によって決定されます。

ただし、高速応答時間に依存するハードディスクまたはアプリケーションが複数ある場合は、ディスク領域の割り当て量をリセットすることで、OSで仮想メモリ管理を手動で実行できます。

手動リセットで仮想メモリを増やす方法がわからない場合は、ドライブスペースの最大量と最小量を指定する必要があります。 仮想メモリがシステムのニーズに十分であることを保証するには、最適な範囲である必要があります。

システムのRAMサイズを確認して、仮想RAMの最適な範囲を確認してください。 仮想メモリのサイズは、オペレーティングシステムに実際のRAM値が推奨される回数によって異なります。 たとえば、Windows OSの実際のRAMサイズの1.5〜3倍です。 ただし、OSの仮想メモリ管理が要件を満たしていない場合は、RAMの追加を検討する必要があります。

仮想メモリをより適切に増やす方法を理解するために、Windowsオペレーティングシステムの例を見てみましょう。

OSで仮想メモリを定義するための手順は、次のとおりです。

  • [スタート]>[設定]に移動します。
  • 検索バーに「パフォーマンス」と入力します
  • [Windowsの外観とパフォーマンスの調整]を選択します。 ウィンドウが表示されます。
  • [詳細設定]タブを選択します
  • [仮想メモリ]セクションで、[変更]を選択します。
  • ウィンドウで、[すべてのドライブのページングファイルサイズを自動的に管理する]ボックスの選択を解除します。
  • カスタムサイズをクリックします。
  • [初期サイズ]ボックスと[最大サイズ]ボックスに値を入力します。
  • [OK]をクリックして、新しい仮想メモリ範囲の定義を保存します。

推奨読書:ユーティリティソフトウェアとは:ユーティリティソフトウェアの例トップ10 2022

OSの仮想メモリと物理メモリ

仮想メモリの意味は、物理メモリと比較せずに完成させることはできません。 物理メモリ(RAM)がいっぱいになると、セカンダリメモリの一部である仮想メモリがOSによって使用されます。 2つのメモリタイプの主な違いは次のとおりです。

パラメータ仮想メモリ物理メモリ
意味セカンダリメモリのセグメントは仮想ストレージとして機能しますメインメモリ:プライマリRAMとセカンダリHDD / SSD
目的RAMがアクティブに必要なときにいつでも使用できるデータの保存アクティブなプログラム用のプライマリメモリとストレージ用のセカンダリメモリ
スピード遅い速い
費用低いより高い
サイズハードドライブ/SSDのサイズによって異なりますRAMチップに依存します。 追加のチップを購入してインストールできます
使用したテクニックページングとセグメンテーションスワッピング
CPUへのアクセス直接ではなく、RAMを介して直接

OSにおける仮想メモリの利点

コンピュータの仮想メモリにはいくつかの利点があります。 仮想メモリ管理で使用される手法は、パフォーマンスを向上させるために所有するよりも多くのリソースを必要とする仮想マシンにも適用されます。 仮想RAMの主な利点のいくつかをここで説明します。

低コストの追加メモリ割り当て
データの分離と暗号化による高いセキュリティ
一度により多くのプロセスを実行することにより、CPU使用率が向上します
マルチプログラミングが容易になります
大規模なプログラムを実行し、一度により多くのアプリケーションをロードできます

OSの仮想メモリのデメリット

仮想RAMを使用することにもいくつかの欠点があります。 仮想RAMの有効性を理解するには、それらを知っている必要があります。

アドレス変換のために追加のハードウェアが必要
システムの安定性が低い
使用可能なハードドライブのストレージスペースを減らします
サイズは、使用可能なセカンダリメモリの量によって制限されます
アプリケーション間の切り替えが遅いため、パフォーマンスが低下します

推奨読書:ユーティリティプログラムとは何ですか?その機能は何ですか?

結論

OSの仮想メモリがわかったので、マルチタスクへの最適なアプローチを決定できます。 システムの長所と短所を比較検討した後、追加のRAMを購入するか、仮想メモリの範囲を手動で設定するかを決定できます。

よくある質問

  1. 仮想メモリとは何ですか?どのように機能しますか?

    仮想メモリは、RAMとして割り当てられるセカンダリメモリ内のスペースです。 オペレーティングシステムは、プロセスやプログラムのデータの読み取りと書き込みのために実際のRAMがいっぱいになると、仮想メモリを割り当てます。

  2. なぜ仮想メモリが必要なのですか?

    RAMがいっぱいになり、追加のRAMを追加料金で購入したくない場合に、メインメモリの使用可能なスペースを増やすには、仮想メモリが必要です。 これにより、ユーザーは大規模なプログラムを簡単に実行し、マルチタスクを実行できます。

  3. 仮想メモリはRAMよりも高速ですか?

    いいえ、仮想メモリは、読み取り/書き込み操作に時間がかかるセカンダリメモリの一部であるため、RAMよりも低速です。

  4. PCの仮想メモリとは何ですか?

    PCの仮想メモリは、ソリッドステートドライブ(SSD)またはハードドライブに割り当てられたスペースであり、アクティブに実行されているアプリやプログラムの追加RAMとして機能します。

  5. 仮想メモリで何が起こりますか?

    仮想メモリには、RAMからすぐに必要とされないデータが保存されます。 プロセスがデータを必要とするときはいつでも、それはRAMにコピーバックされます。

  6. 仮想メモリはパフォーマンスにどのように影響しますか?

    仮想メモリを使用すると、大規模なプログラムを簡単に実行できます。 ただし、RAMではなくPCの速度が低下するため、パフォーマンスに影響します。

  7. 仮想メモリの例とは何ですか?

    仮想メモリの例は、一度に複数のアプリケーションを実行する場合です。 たとえば、電子メールを更新しながら、画像処理ソフトウェアと一緒にスプレッドシートソフトウェアを実行します。

  8. 仮想メモリはどのようにセキュリティを向上させますか?

    仮想メモリ内のデータは暗号化され、他のデータから分離されます。 これにより、アプリや個人が機密情報に誤ってアクセスするのを防ぐことができます。

  9. 仮想RAMは効果的ですか?

    はい、仮想RAMは大規模なプログラム用のスペースを作り、タスクの効率的な管理に役立ちます。

  10. 仮想メモリを管理するにはどうすればよいですか?

    デバイスで、[スタート]>[設定]>[コントロールパネル]に移動します。 システムアイコンをダブルクリックした後、[システムのプロパティ]ダイアログボックスに移動します。 [詳細設定]タブ>[パフォーマンスオプション]を選択します。 [仮想メモリ]の下の[変更]をクリックします。 値は、デバイスの実際のRAMの量の1.5〜3倍である必要があります。

関連カテゴリ:オペレーティングシステム| サーバーオペレーティングシステム| サーバーソリューション| アプリケーションの仮想化