[OS]メモリフラグメント(メモリフラグメント)


🎞 メモリフラグメント(メモリフラグメント)Process free Process free Process free Processがいぶフラグメント
プログラムサイズ>パーティションサイズが小さい場合、パーティションが空のためプログラムをロードできないメモリ領域.
  • プログラムに割り当てられていない空き領域
  • 現在の状態では使用できない小さなパーティション
  • インサイドピース
    プログラムサイズ<パーティションサイズが小さい場合、プログラムをパーティションにマウントして保持するメモリ領域
  • 未使用メモリブロック
  • あっしゅくProcess Process Process Process      free     
    1つの方法は、プロセスが使用する空間を片側に集中させ、自由空間を解放し、外部断片化を除去することである.
  • 生産性低下
  • どうやって消すの?
    📄 ページング
    プロセス内のアドレス空間を同じ(固定)サイズのページに分割し、物理メモリに不連続に格納します.
  • 外部断片
  • を除去する.
  • メモリはframe、プロセスはpageであり、固定サイズ
  • に分けられる.
  • 一つのプロセスで使用する空間は複数のページに分けられ、
  • を管理する.
  • 各ページは、物理メモリ内のフレームに順次マッピングされ、
  • が保存する.
  • 内部断片化問題比重
  • 増加
    🔪 セグメント(Segments)
    プロセスを異なるサイズの論理ブロックを持つセグメント(セグメント)に分割し、メモリに配置します.
  • セグメントテーブルは、セグメント番号、開始アドレス、およびセグメントサイズをエントリとし、
  • 外部断片化の問題が発生する可能性がある
  • 💣 segmentation fault?
    C言語の時よく見る
    プログラムが許可されていないメモリ領域にアクセスしようとしたり、許可されていない方法でメモリ領域にアクセスしようとしたりしたときに発生します.
    次のコードを使用すると、分割エラーが発生します.
    int *ptr = (int) 0x00000000;
    *ptr = 1;
    参考資料
  • Ready-For-Tech-inteview断片化。md at master · WooVictory_Ready-For-Tech-Interview
  • Ready-For-Tech-Interview_Paging_Segmentation.md at master · WooVictory_Ready-For-Tech-Interview
  • Interview_Question_for_Beginner_README.md at master · JaeYeopHan_Interview_Question_for_Beginner
  • ウィキペディア、私たち全員の百科事典