タイトルMac OS 9.1に搭載された仮想メモリを効率的に使用するAPIの文書カテゴリーTechnote, Mac OS 9
作成日2001/1/26 15:10:25作成者新居雅行
Mac OS 9.1では、File Mapping APIという機能が組み込まれていて、そのTechnoteが公開されている。簡単に言えば、アプリケーションが仮想メモリを積極的に使う機能だと考えれば良い。Mac OSでは仮想メモリはサポートされているが、基本的にはシステム管理下での動作だった。通常のアプリケーションは自分自身に割り当てられたメモリの中でデータ領域を確保する必要があり、その点では古い時代の制約を引きずっている。アプリケーションの確保メモリは基本的には固定量であるため、大量のデータを扱うにはそれに見合う領域を確保する必要もあった。しかしながら、File Mappingを使うと、仮想メモリ領域を、あたかもアプリケーションのメモリ領域のように使うことができる。仮想メモリはファイルを確保して、ファイルの中身と物理メモリ間でデータのやりとりをシステムレベルで行うことで、物理メモリよりも多くのメモリ領域を利用するという手法だ。File Mappingを使うことで、アプリケーションは、自分のメモリ領域とは関係なく、仮想記憶ベースの記憶領域を確保することができる。そして、そこはあたかもメモリの中のように扱えるようになる。ただし、仮想記憶に使うファイルの確保、その部分のメモリブロックと自分自身が使う領域との対応付けについては、単にメモリを確保する以外に追加で行う必要が出てくる。しかしながら、何かとメモリ環境が不利なMac OSで大量のデータをアプリケーションで扱うには効率的かつ確実で、スケーラブルな手法だと言えるだろう。
なお、このAPI群がMac OS Xで使えるかどうかの情報はない。Mac OS Xは、Mac OSとは異なり効率的なメモリ管理手法が使えるとされているため、こうしたAPIの必要はないのかもしれないが、ソース互換を目指すCarbon上でのアプリケーション開発が盛んであることから、Mac OS Xとの絡みについての情報も望まれる。
関連リンクFile Mapping in Mac OS 9.1