
『UNIXのカーネル』という書籍の、カーネルのページングの解説部分に
>フォ-ルトハンドらは、対応するページを物理メモリ内で見つけられなかった
>場合、新しいページを割り当てて0で初期化するか、あるいは2次記憶装置から
>データを読み出して初期化する。 後者の場合、実行ファイル、共有ライブラリ
>・オブジェクト・ファイル、またはスワップ領域に保存されたコピーから読み出
>すページが選択される。 これらのオブジェクトはプロセスのページに対する
>バッキングストア(backing store)を構成している。
とあったのですが、バッキングストアが何をする場所のなのかが書いていないのでわかりません。 Webも探したのですが、これといった答えを見つけられませんでした。
どなたかご存知の方がいらっしゃいましたら教えてくださいm(_ _)m
No.1ベストアンサー
- 回答日時:
「バッキングストア」とは、結構そのままの意味で「裏で保存している(所)」と
言う意味です。
質問の文章の中では、動作しているプロセスの仮想メモリ上のページに対する
ことなのでしょうが、仮想メモリのページに意識を集中すると、そこにあたる
ページが実メモリに無い(ページフォルトした)場合、メモリを割当てて、その
内容を、メモリの裏(と言う表現が適切かどうかは疑問ですが)に保存されて
いるところ(バッキングストア)から読み出して、設定するということですね。
他に良く使われる場面としては、「画面の描画」です。
ちまちまと線を描画領域に書くと遅いので、描画領域と同じ大きさの領域を
「裏」にとっておいて、そこに描画をし、適当なタイミングで描画領域に丸ごと
転送します。その「裏に取っておいた領域」もバッキングストアです。
早速のご回答ありがとうございました。
a-kuma殿に回答していただいた内容から
プロセスがページングした際に、実メモリ割り当て後にアクセスしにいく、
2次記憶装置とのインタフェース(ファイルの管理システム?)
と、とらえました。
それを念頭において、もう一度調べてみます。
また、「画面の描画」の説明もありがとうございました。
Webで調べていたときに混乱させられた元でしたので、
おかげさまですっきりしました。
No.2
- 回答日時:
UNIXには詳しくありませんが、文面から類推して。
backing store は後方に控えている本来の記憶あるいはバックアップに用いている記憶という意味でしょうね。(二次記憶:HDDのこと)
目的のページが主メモリーにない状態(ページフォルト)では新しく確保したページの扱いは、
(1)オールクリヤーでいい場合。
(2)各種のライブラリから固定的にコピーすればよい場合。
(3)スワップされている場合、スワップエリアの中間結果をロードする。
が考えられます。
原文では(3)がオブジェクトファイルに含まれるかどうかつまりバッキングストアに入るかどうか判定が難しいです。
回答ありがとうございます。
先に回答頂いたa-kuma殿の回答とymmasayan殿の回答を
あわせたおかげで、だいたいの憶測がつきました。
やぱりページフォルト時にプロセスがアクセスするHDDの
インタフェースと思っています。
お二方に頂いた情報を元に、手元にあるカーネルコードから
解析してみようと思います。
本当にありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
メモリの「コミット済み」の意...
-
WindowsアップデートでExcelが...
-
Windows10 設定 する時 ?
-
会計ソフトJDL macで使いたい W...
-
Win8(BOOTCAMP)でのメモリ不足
-
Windows NT 4.0 のシステム要件
-
backing storeって何ですか?
-
Linux系OSのメモリの解放について
-
メモリを32gbから128gbに変更し...
-
タスクマネージャーのパフォー...
-
古いwindowsPCをどのように使う...
-
win10 仮想メモリ
-
メモリが"written"になることは...
-
PCを起動すると画面が真っ黒で...
-
RECOVERY(D:)ってなんですか?
-
FORMが開いているかどうかの確...
-
このエラーはどういうことでし...
-
デスクトップの画面が表示されない
-
リカバリを中断して元の状態に...
-
\\Device\\Harddisk1\\DR1 でコ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
メモリの「コミット済み」の意...
-
Windows98SE ・Meの動作「上限...
-
会計ソフトJDL macで使いたい W...
-
backing storeって何ですか?
-
「タスクマネージャ」で「イメ...
-
vmstatで、メモリ使用率を計算する
-
G5とインテルMac
-
仮想メモリ
-
MacとWinのメモリの違いについて
-
WindowsアップデートでExcelが...
-
メモリ割り当ての増やし方
-
「AdditionalCriticalWorkerThr...
-
Windowsで認識できる最大メモリ量
-
iBook G4 メモリ増設を考えてい...
-
スリープからの復帰が遅い。
-
64bit OSは、メモリ4GB以下だと...
-
vista ブルースクリーン
-
0xで始まる番号(?)
-
最先端のCPUを詰んだAndroidス...
-
MinecraftのJava版が起動しません
おすすめ情報