【コラム】
さて、大まかな管理構造は結構大きく違うWindowsのPage管理だが、意外に似ている部分もある。例えばこの回で、Valid bitが無効な4種類のPTEのケースを紹介したが、これを7.6.1「無効PTE」(上巻P513~)と比較してみると、非常に似ている事が判る。Invalid global pageに当たるものは無いが、これはWindowsが(VMSのSectionにあたる)Shared Pageに関してプロトタイプPTE(上巻P514)という仕組みを追加して、こちらで管理しているから、PTEのInvalid Statusからは外されたのだろう、と想像される。
そのプロトタイプPTEにしても、状態が6種類あって、これがこちらの図3に出てくるものと全く同じ、というあたりが、Page管理の共通性を伺わせる。
もっともPFNが取りうる値そのものはだいぶ拡張されている。WindowsのPFNのページ状態は7.11(上巻P548)の表7-20に詳しいが、スタンバイとか変更書き出し無し、ロム/使用不可といったステータスはVMSには存在しない。ただスタンバイは移行(VMSの"Page is in transition")を「移行」と「スタンバイ」に分けた関係で追加されたとわかるし、変更書き出し無しはNTFSトランザクションなどの機能に対応して追加されたものだ。ロムはWindows XP以降の導入だから、なければ困る訳ではなかった。恐らくWindows Embedded向けの機能と思われるが、別にWindows XPの以前からEmbedded向けNTは存在し、問題なく動作していたからだ。そもそもBIOSとかVGAなどのROMはメモリ空間にMapされていたわけで、それを別に問題なく扱えた(Read OnlyのReference Pageとして扱えば済むだけの話だ)。
一番謎なのが使用不可である。勿論、機能的には理解できる。パリティなりECCなりのエラーを検出したページを利用不能にするということだ。ただ筆者の知る限り、これを動的に管理できるWindowsは存在しない。例えばDatacenter Serverなどを利用する基幹系向けシステムの場合、メモリも冗長構成やホットスワップをサポートしているが、これらは何れもWindows以前にハードウェア(というか、インフラストラクチャ)レベルでサポートされている。例えばメモリエラーが出た場合、それがECCなどでリカバー可能であれば自動的にリカバーすると共にエラーレポートを上げる。エンジニアは定期的にエラーの頻度をサンプリングしておき、ある程度の頻度になったらそのメモリを交換するといった具合だ。またECCでもカバーできないような大規模エラーが発生した場合、ミラーリングを解除して故障したメモリをホットスワップで交換。復帰後にミラーの復元を行うといった具合になる。従って、理屈はともかく実際の運用でこんなページが存在しえる可能性が無い気がする。デスクトップにしても、エラーが出るメモリモジュールを使うとあっさりブルースクリーンが出て終わるのが普通な事を考えると、初期化時にエラー箇所を記録しておき、そこを使わないようにするなんて実装がなされているとは思いがたい。これは将来RAS機能がもっと充実した時用にあらかじめ用意したStateなのかもしれない(というか、他に理由が想像できない)。
話を元に戻すと、そんなわけで基本的にはVMSのPFNと基本的には取りうる値が殆ど変わらない事が理解できる。要するにWindowsもまた、PageTableをベースにメモリ管理を行っている事が判る。「Windowsの場合、PageTableの前にPageDirectoryがあるのでは?」という指摘は当然正しい。Inside Windowsでは軽く「PDEのフォーマットはハードウェアPTEと殆ど同じですから、ここでは説明せず、ハードウェアPTEを説明する後の節で説明します」(上巻P499)と流している。実際、PDEもPTEも、どちらも10bit分のアドレスを指定するから、同じフォーマットにしてしまったという事だろう。ではPDEの中で、PageTable指定の10bit以外には何が入っているかという話だが、これはPTEにおける"Page"を"Page Table"に読み替えれば良いという事だと思われる。Page DirectoryもPage Tableも、そのサイズは4KB(1024エントリで1エントリが32bit=4Bytes)になっているから、丁度1ページに収まる。なので、あるPageTableが作成されてオンメモリにあればValidだし、それがPage In/Outの最中なら移行になる。これからPage Tableを作成するというのであれば、Demand Zeroになっているかもしれない。流石にMapped Fileになることは無いとは思うが。
45nm Core 2 Duoが深夜0時の販売解禁、秋葉原がお祭り騒ぎに
【レポート】今週の秋葉原情報 - 45ナノCore 2 Duoがまもなく発売、Radeon HD 3850のファンレスカードも
| Yahoo!がTumblrを11億ドルで買収 - 独立事業としてサービス継続 [06:32 5/21] |
| 【特別企画】Samsung SSD 840でPCゲームが快適に - ヘビーゲームの読み込みが3倍に高速化 [00:00 5/21] |
| 【レビュー】高速・多機能で期待のIEEE802.11ac対応Wi-Fiルータ - NECアクセステクニカ「AtermWG1800HP」「AtermWG1400HP」 [00:00 5/21] |
| グリーンハウス、10型ワイド液晶搭載のデジタルサイネージ端末"GH-EP10RAW" [22:23 5/20] |
| Antec、電源ユニットの「Haswell」対応状況を公開 [21:42 5/20] |
|
シマンテック、クラウドセキュリティの新しい統合セキュリティサービス発表 [07:18 5/21] エンタープライズ |
|
(知り合って間もなく)「かわいいですね」【女性の恋愛心理】 [07:00 5/21] 恋愛・結婚 |
|
東京都・吉祥寺で食べ&飲み歩きの「吉祥寺バル祭り」。4軒巡りで3,500円~ [07:00 5/21] ライフ |
|
【連載】ずっと独身でいるつもり? 第38回 選ばれない女になりたくない [07:00 5/21] 恋愛・結婚 |
|
Yahoo!がTumblrを11億ドルで買収 - 独立事業としてサービス継続 [06:32 5/21] パソコン |