オペレーティングシステム(10) - 仮想メモリ

免責事項:この記事はブロガーオリジナル記事です、続くBY-SAのCC 4.0を著作権契約、複製、元のソースのリンクと、この文を添付してください。
このリンク: https://blog.csdn.net/m0_37609579/article/details/102766162

まず、定義

コンピュータの役割で多くのメモリ、すべてのプログラムを実行しているコンピュータがメモリを介して実行する必要がある、または非常に多くの実行ならば、それは枯渇メモリにつながります。この問題を解決するために、メモリ使用量として動作するようにハードディスクの空き容量の一部を思い付くために仮想メモリ技術のWINDOWSの使用は、つまり、空間のこの部分が呼び出され、仮想メモリ、ハードディスク上の仮想メモリは、フォームページファイルをPAGEFILE.SYSに存在しています。

[Baiduの百科事典]仮想メモリがあるコンピュータシステムのメモリ管理技術の。これは作るアプリケーションは、それが利用可能な連続有すると考えメモリ(連続フルアドレス空間、実際に、それは通常複数に分割されている)の物理メモリチップを、一旦の外側部分に格納されているディスクストレージが必要に際のデータ交換現在、ほとんどのオペレーティングシステムは Linuxの「スワップ領域」等の「仮想メモリ」のWindowsファミリとして、仮想メモリを使用します。

第二に、仮想メモリの作品

仮想メモリは、情報が自動的にスケジューリングし、ハードウェアとオペレーティングシステムの管理保存されています。[3]:6つのステップを含む、その作業工程 

  1. 中央プロセッサのメインメモリは、情報のセットがに格納されているかどうかを決定するために、アドレス変換テーブルを検索するための指標として、すなわち論理グループ番号、グループ番号B及びグループアドレスの論理アドレスに分解され、アドレス変換のためのグループ番号でありますメインメモリインチ
  2. グループ番号がすでにある場合は、メインメモリ内の、それが代わりに実行されます④、グループ番号は、メインメモリにない場合、それはメインメモリ内のアイドル領域があるかどうかをチェックしていない場合は、グループが撮影した一時的な曲を入れていません二次メモリ、メインメモリに転送された情報の集合。
  3. 二次メモリから読み出すべき基、及びメインメモリにスペア領域、および空き物理グループ番号及びアドレス変換テーブルに登録されている数の論理的に設定すること。
  4. 物理アドレス変換テーブルからグループ番号の論理グループ番号を読み出します。
  5. 物理グループ番号とグループb内のバイトアドレスから物理アドレス。
  6. 物理アドレスに応じてメインメモリから必要な情報にアクセスします。

第三に、仮想メモリのスケジューリング

スケジューリング方法は、セグメント化され、ページ・セグメントの3種類のページングされています。スケジューリングは、論理および物理アドレス空間は、固定サイズのページに分割されているページです。メインページ順序番号のメモリ、および、各々独立にアドレス可能なプログラム空間は、独自のページシーケンス番号を持っている、補助記憶ページスケジューラプログラム、データテーブルと11によって異なる位置に主記憶ページに離散的になることがあり対応する検索。ページのスケジューリング利点は、ページのごく一部である、ページテーブルは、プログラマ、速く、簡単な操作で転送されたアドレス変換に透明であり、各ページの欠点は、独立したプログラムモジュールは、プログラムとデータ保護を実現するのは容易ではないではありません。スケジューリング・ステージは、プログラムのアドレス空間の論理構造によって分割され、セグメントの長さは任意であり、伸長を可能にする、それはメモリの一部を排除するという利点を有し、メモリ保護は、動的プログラムを組み立てるために、実装が簡単容易であり、欠点は、複雑な操作が転送されます。一緒に二つの方法を組み合わせることによりスケジューリング部のページを構成します。物理ページにページ・スペースにおけるスケジューリング部、セグメント化によってプログラムモジュールにおいて、各セグメントは、同じページのページの小さな物理的空間に細分されます。ページのスケジューリングセグメントは、セグメントとページスタイルの利点を兼ね備えています。欠点は、ソフトウェアは、より複雑で、ハードウェアのコストを増加させています。ページのスケジューリング期間で最も大規模な汎用コンピュータシステム。

1.スケジュールページ

ページ仮想ストレージシステムでは、仮想空間は、同じサイズのページに分割論理ページまたは仮想ページと呼ばれています。メインメモリ空間が等しいサイズのページに分割され、物理ページまたは物理的なページと呼ばれます。したがって、仮想アドレスは2つのフィールドに分かれています。高磁場仮想ページ番号、ページ・アドレス・フィールドは低いです。実記憶アドレスは、2つの分野に分かれています。ハイフィールドは実ページ番号、ページのアドレスフィールドが低いです。一方、ページのサイズは、2つのワードのべき乗に丸められます。

これは、ページテーブルの仮想アドレスによって物理アドレスに変換することができます。ページテーブルは、ページ・テーブルでは、一つのエントリのそれぞれに対応する仮想ページ番号は、仮想ページのメインメモリページアドレス(PPN)の少なくとも内容を含むエントリが実メモリ・アドレスとして使用して、配置されている各番組のために提供されハイフィールド;スプライシングされた仮想アドレスのアドレスのページ内の物理ページ番号は、メインメモリにアクセスする際、完全な実存アドレスを作成します。

2.スケジューリング段階

メインメモリ内のページの物理的な空間は、固定領域等の長さから分配しました。ページ付けの利点は、ページの長さが一定であることである、それによって構成容易にページテーブルを、管理が容易で、かつ外部フラグメンテーションは存在しません。しかし、欠点は、論理的な方法ページングサイズのページで構成されたプログラムは関係ありません。例えば、メインメモリ内に、一部は補助記憶装置内にサブルーチンの特定の時間部分があってもよいです。これは、プログラミングにおける自立を助長されていませんし、中/スワップアウト処理、保管、保護、ストレージの共有操作がトラブルを起こす交換すること。

セグメントと呼ばれる別のアドレス可能なメモリ空間分割方法。セグメントは、自然なプロセスの境界に従って分割され、領域の長さを動的に変更することができるされています。典型的には、プログラマは、サブルーチン、異なるセグメントに定数オペランドとして、異なるタイプのデータに分割し、各プログラムは、同じタイプの複数のセグメントを有していてもよいです。 

仮想ストレージシステムのセグメント、及びセグメント・テーブルによって達成実メモリ・アドレスに仮想アドレスを変換するアドレスセグメント内の仮想アドレスのセグメント数、です。テーブルは各プログラムセグメントのために提供され、セグメントに対応するセグメント・テーブル・エントリは、各エントリは、少なくとも3つのフィールドを含む:有効ビットがセグメントに(セクションアドレスから、(セグメントがメインメモリに転送されたか否かを示します)最初のアドレスの有無)及びセグメント長(セグメント記録の実際の長さ)。 

3.ページスケジューリング部

セグメントは、仮想メモリと仮想メモリのページに関連して、仮想メモリ・セグメントをページングされます。

まず、実際のストレージが均等ページに分割されます。仮想メモリページセグメント、プログラムセグメントの論理構造、ページング実存ページプログラム動作の大きさに応じて、各セグメントの後に、ページからスワップアウト、それはセグメントを共有することができる応じて保護。これにより、セグメントができ、ページモードシステムの利点を組み合わせます。その欠点は、画像処理で複数のルックアップテーブルをアドレス指定する必要があり、物理アドレスへの仮想アドレスは、セグメント・テーブル及びページ・テーブルのセットを配置することによって行われます。セグメント・テーブル内の各エントリは、セグメントに対応し、各エントリは、保護制御チャネルセグメントのページ・テーブルにセグメント及びポイントのセグメント・テーブル・ページ(ページ番号)の開始アドレスを有するメインメモリ内のページを示しています位置がロードされるかどうか、および、改変、および他の徴候。

第四に、仮想メモリのスケジューリング

凡例完全な変換、直接変換、およびグループの関連付けを変換:仮想メモリアドレス変換の3つのつのほぼ状仮想メモリ操作手順の式があります。物理空間の任意の論理ページ・スペースを変換するフルアソシアティブと呼ばれている任意のページ位置に変換することができます。特定のページを変換することができ、物理的空間への論理空間の各ページには、直接変換と呼ばれています。レノボグループの変換は、グループ間意味各ページを介してグループは、Lenovoの変換満杯である間、直接変換です。メインメモリのどの部分を決定するための代替的置換規則は、メインメモリとは一部を記憶する補助記憶装置に転送する、一部を退去します。一般的な置換アルゴリズムは、4を持っています。

  1. ランダムアルゴリズム:発電機は、ソフトウェアまたはハードウェア乱数でページを置き換える決定します。  
  2. FIFOは:最初の最初のページ置換のメインメモリに転送します。
  3. 最低使用アルゴリズム(LRUは、最低使用):最長時間をページを置き換えることなく。 
  4. 最適なアルゴリズム:使用前にほとんどの時間を交換した後のページ。これは、様々な他のアルゴリズムの利点の尺度として、理想的なアルゴリズムです。 

仮想メモリの効率は、メインメモリ容量、ページサイズ、ヒット率、プログラムの局所性と置換アルゴリズムおよびその他の要因に関連した性能評価システムの重要な部分です。

第五に、仮想メモリの役割

:仮想メモリには、3つの重要な機能を提供してキャッシュメモリ管理メモリ保護を

  1. メイン・メモリ・アドレス空間は、ディスクキャッシュに格納されているとみなし、メインメモリには、唯一の活性領域に格納され、必要に応じてメインメモリとディスクとの間でデータを転送します
  2. メモリ管理を簡素化し、プロセスごとに一貫性のあるアドレス空間を提供します
  3.  各プロセスのアドレス空間の保護は、他のプロセスによって破壊されません

VIの概要

  1. スケジュール:メインメモリに転送すべきプログラムやデータを決定します。
  2. アドレスマッピングの問題:物理アドレスに格納された仮想メイン・メモリ・アドレスにアクセスする(アドレス変換処理ともいう)マスターになり、二次メモリ既知の二次メモリ(プロセスの仮想アドレスを物理アドレスにアクセスします供給するために外部アドレス変換)。また、メインメモリ割り当て、メモリ保護と再配置プログラムやその他の問題を解決する必要があります。
  3. また問題:どのプログラムやデータをメインメモリから転送することを決定します。
  4. アップデートの問題:メインメモリとセカンダリストレージの整合性を確保。

これらの問題を解決するためのユーザーのためのオペレーティングシステム、ハードウェアとシステム・ソフトウェアの制御下で、大幅にアプリケーションのプログラミングを簡素化するようにします。

 


私のマイクロチャネル公共数:アーキテクチャの聖書(ID:gentoo666)、共有Java乾燥、並行性の高いプログラミング、人気のある技術的なチュートリアル、および分散型マイクロサービス・テクノロジー、建築、デザイン、ブロック・チェーン・テクノロジー、人工知能、ビッグデータ、Javaのインタビュー質問だけでなく、最先端の情報とそんなに人気があります。ああ毎日更新!

参考記事

  1. https://baike.baidu.com/item/仮想メモリ/ 101812?FR =アラジン
  2. https://www.jianshu.com/p/baf3a13c47db

おすすめ

転載: blog.csdn.net/m0_37609579/article/details/102766162