記憶装置とメモリ管理
経営情報システム 第2回
「数百人規模の豪華なフルコースディナーを作らなければいけないのに、キッチンの作業スペースがまな板1枚分しかなかったらどうなりますか?」。動画はこんな想像から始まります。このページでは動画の流れにそって、光学ディスクの規格、仮想記憶とスラッシング、NASとSAN、シンプロビジョニングという、限られた記憶領域をやりくりする4つの工夫をまとめました。まず動画を聞いて、あとからここで復習するのがおすすめです。
まな板1枚で、フルコースを作れますか?
動画は、こんな想像から始まります。数百人規模のフルコースディナーを作らなければならないのに、キッチンの作業スペースはまな板1枚分しかない。次から次へと食材が運ばれてきて、手が止まってしまいそうです。動画によれば、普段使っているパソコンや、大企業の巨大なネットワークの裏側でも、これと同じ「限られたスペースのやりくり」を常にやっているといいます。
この回では、そのやりくりの工夫を、次の4つの順に見ていきます。
- 光学ディスクの規格:ROM・R・RW・RAMは何が違うのか。
- 仮想記憶:スワッピング、ページアウト・ページイン、そしてスラッシング。
- ネットワークを利用した記憶装置:NASとSANの使い分け。
- シンプロビジョニング:使う分だけ実際の容量を割り当てる管理技術。
動画は、どれも「限りある資源をどう有効に使うか」という共通のテーマでつながっている、とまとめています。アルファベットの暗記科目として片付けられがちですが、理由を知ると丸暗記しなくても頭に入ってきます。
動画のキッチンのたとえ(この回の見取り図)
- まな板=主記憶装置(メインメモリ)。広さに限りがある作業スペース。
- 冷蔵庫=補助記憶装置(ハードディスクなど)。広いが、取り出すのに手間がかかる。
- 共有のファイルキャビネット=NAS。みんなのデスクの真ん中に置く棚。
- 専用の高速道路=SAN。一般道から切り離した、データ転送専用の道。
光学ディスクの規格:ROM・R・RW・RAM
まずは手で触れる、いちばん身近な記憶媒体からです。光学ディスクとは、CD・DVD・BD(ブルーレイ)のように、光(半導体レーザー)で情報を読み書きする記録媒体のことです。種類ごとに規格があり、名前の末尾のアルファベットが「書き込みの自由度」を表します。動画は、これを文房具でたとえます。
| 規格 | 書き込み | 動画のたとえ |
|---|---|---|
| ROM | 読み取り専用。工場で作られた時点でデータが凹凸として固定され、書き換えられない | 本屋に並ぶ印刷済みの本 |
| R | 1度だけ書き込める。書いたら消せない | ボールペンで書く履歴書 |
| RW・RAM | 何度でも書き換えられる | 鉛筆と消しゴムで書くスケジュール帳 |
では、なぜこんな違いが生まれるのでしょうか。動画によれば、どれも光という共通の技術を使っていますが、ディスクの表面に使われている素材が違うからです。Rのように1度しか書けないディスクは、強いレーザーを当てて色素を焦がして記録します。いっぽう、RWなど繰り返し書き換えられるディスクは、レーザーの熱で金属の合金を溶かし、冷え方を変えることで状態をリセットします。
え、焦がしてるんですか? それじゃ元には戻せないですよね。
そうなんです。一方、RWは合金の状態を変えているだけなので、熱の与え方でまた元に戻せます。物理的なやり方が根本的に違うと分かれば、暗記しなくても頭に入ってきますよ。
(補足:動画の説明は代表的な方式を単純に言い切ったものです。キヤノンの技術解説では、CD-Rは有機色素の層に強いレーザーを当てて色素と反射層を熱で変形させて記録し、CD-RWは相変化を起こす特殊な合金を使って、結晶とアモルファス(非結晶)の反射率の違いで読み取る、と説明されています。ただしソニーの資料には、追記型の中にも相変化の膜の原子配列を不可逆に変える方式がある、との記述があります。「Rは色素、RWは合金」は、代表的な例として覚えるのがよいでしょう。)
仮想記憶:まな板の広さを超えて仕事をする
ディスクは、データを保管するには便利です。次は、パソコンの内部での処理の話に移ります。冒頭のキッチンの例えでいう、作業スペース(まな板)の広さの問題です。
ここで登場するのが仮想記憶です。動画の説明では、仮想記憶とは、補助記憶装置を使って、主記憶装置の容量以上の仕事ができるようにする方法のことです。具体的には、主記憶装置の容量を超えるプログラムやデータを読み込む必要が生じたとき、当面使わなそうなデータを補助記憶装置に退避させ、主記憶装置の空いた領域に新しいプログラムやデータを読み込みます。動画は、この動作をスワッピングと呼んでいます。
動画の例で見てみましょう。主記憶にデータAからCまでが読み込まれていて、新しくデータDを読み込みたいのに、容量が足りません。このとき、当面使わなそうなデータB(まな板の上でいえば、今すぐは切らない玉ねぎ)をHDDに退避させ、空いた領域にDを読み込みます。この一連のやり取りには、名前がついています。
- ページアウト:ページ(データ)を主記憶から退避させること。冷蔵庫にしまう動作です。
- ページイン:主記憶の空いた部分に、新たなデータを読み込むこと。まな板に出す動作です。
冷蔵庫にしまうのがページアウトで、まな板に出すのがページイン。この出し入れを繰り返して、狭いまな板でも何とかフルコースを作っているんですね。
そのとおりです。日常の動作とシステム内部の動きがリンクしているので、イメージしやすいですよね。
(補足:動画は、この出し入れの動作全体をスワッピングと呼んでいます。いっぽう、OSの講義資料では、プロセス全体をメモリとディスクの間で入れ替えるものをスワッピング、プロセスの一部(ページ)を出し入れするものをページング(出すのがページアウト、読み込むのがページイン)と分けて説明するものがあります(慶應義塾大学SFCの講義資料)。本や問題で言葉が混ざっていても、「ページ単位の出し入れがページアウト・ページイン」と整理しておくと迷いにくくなります。)
スラッシング:行ったり来たりで、料理が進まない
ここで嫌な予感がします。冷蔵庫とまな板の間を何度も行ったり来たりしすぎたら、どうなるのでしょうか。料理そのものにかける時間がなくなってしまいます。システムでも同じです。動画によれば、メモリが少ないコンピューターでは頻繁にスワッピングが起き、動作速度が低下します。これがスラッシングです。
マウスのカーソルが砂時計になったまま動かなくなる、あの現象の裏側では、まさにスラッシングが起きている。システムが必死にページインとページアウトを繰り返して、悲鳴を上げている状態だ、と動画は説明します。
どうすればいいんでしょうか。
余計なプログラムを停止させたり、物理的にメモリを増設したりという対策が必要です。
まな板の上の食材を減らすか、大きなまな板を買ってくるしかない、ということですね。
では、どのくらい遅くなるのでしょうか。ここでは数字で感じてみましょう(自作の設例で、実際の機器の値ではありません)。主記憶へのアクセスが100ナノ秒、ディスクからの読み込みが10ミリ秒(=1,000万ナノ秒)かかるとします。ページの入れ替えが起きる確率をpとすると、平均のアクセス時間は次の式で表せます。
平均時間 =(1-p)×100ナノ秒 + p×1,000万ナノ秒
p=0(入れ替えなし)なら100ナノ秒。p=1万分の1なら約1,100ナノ秒で、約11倍です。p=1,000分の1なら約10,100ナノ秒で、約101倍になります。入れ替えが1,000回に1回しか起きなくても、平均で約100倍も遅くなるわけです。冷蔵庫が遠いほど、たまに行くだけでも全体の進みが落ちる、というイメージです。
(補足:スラッシングは、仮想記憶でページの置き換えが頻繁に起きて、システムの性能が低下することと説明されます。防ぐには、メモリを大量に使うアプリを終了させるか、物理メモリを増設します。この説明は動画と一致しています。)
NAS:みんなのデスクの真ん中に置く共有棚
ここまでは1台のパソコン、つまり個人のキッチンの話でした。企業になると、複数の人が大量のデータを共有しなければなりません。動画は、ここからネットワークを利用した記憶装置の話に入り、主なものとしてNASとSANを挙げます。
NAS(Network Attached Storage)は、ネットワークを経由して使える記憶装置です。ネットワークを介して外付けハードディスクを共有しているようなもので、記憶装置が直接ネットワークにくっついたように見えるので、「ネットワークに付属の記憶装置」という名前になっています。みんなのデスクの真ん中に置く共有のファイルキャビネットのようなもので、LANケーブルを挿すだけで手軽に使えます。導入が簡単で、ExcelやWordの共有に適している、と動画は説明します。
そのNASがそんなに手軽で便利なら、わざわざSANという複雑そうなものを入れる必要があるんですか? 全部NASでよくないですか?
鋭い疑問ですね。手軽なNASには、企業規模のデータ処理で致命的になる弱点がある、と動画は言います。それを解決するためにSANがあるんです。
SAN:データ転送専用の高速道路
SAN(Storage Area Network)は、記憶装置専用のネットワークを作って、複数のコンピューターと記憶装置を高速に接続する方法です。一般的には、複数のサーバーとストレージ装置をSANスイッチにつなぎ込む構成になります。
なぜわざわざ専用のネットワークを作るのでしょうか。動画は、渋滞のたとえで説明します。普段使っている社内ネットワークは、メールも、Web会議も、いろいろな通信が混ざる一般道です。そこへ、毎晩行われるような超巨大なデータベースのバックアップという大型トラックが何十台も入り込んだらどうなるか。完全に大渋滞です。誰かが巨大な動画をNASにアップロードしている間、ほかの人はメールも送れなくなってしまいます。
だから、一般道とは完全に切り離した、データ転送専用の超高速道路をつくる。それがSANです。専用道路なので、業務の通信には影響が出ません。ネットワークに接続した記憶装置を有効に使え、複数のコンピューターでストレージを効率よく共有できます。大企業が高コストでもSANをつくるのは、ビジネスの心臓部を渋滞に巻き込まないためだ、と動画はまとめます。
| NAS | SAN | |
|---|---|---|
| 動画のたとえ | 共有の | 専用の |
| つなぎ方 | いつもの | 記憶装置 |
| 動画が挙げた | 導入が簡単 | 業務の通信と |
(補足:日立の技術解説では、SANはブロックストレージ専用の高速ネットワークで、ファイバチャネル(FC)でサーバとストレージを結び、ブロック単位でデータを転送する、とされます。ただしSANはFC専用ではなく、IPネットワーク上でブロック転送するiSCSIなどの方式(IP-SAN)もあります。NASはファイルストレージで、イーサネットに接続し、ディレクトリとファイル名を指定してアクセスします。NASには、既存のイーサネット環境を使えてSANよりコストが低い、異機種のサーバ間でファイルを共有できる、という利点も挙げられています。動画はNASに「致命的な弱点」と言いますが、どちらが上というより、目的による使い分けと考えるとよいでしょう。)
シンプロビジョニング:見かけは大きく、中身は使った分だけ
巨大なSANのストレージ環境をつくると、また新しい問題にぶつかります。各部門から「うちはこれだけ必要だ」と大きな容量を要求されますが、最初からそんな大容量を用意しても、初めはスカスカで、ほとんど使われません。とりあえず多めに確保すると、空っぽのハードディスクが電気だけ食い続けることになります。
これを解決する技術がシンプロビジョニングです。動画の説明では、ストレージを仮想化して割り当て、使用量の増加に応じて物理的なストレージを増設する管理技術のことです。ユーザーには、今後使う予定の最大容量を割り当てておき、内部では、実際に使った分だけの物理容量を割り当てます。こうして使用効率を高めます。
OSが「1GB分のデータを書き込むぞ」と要求してきた瞬間に、管理システムが裏で素早く「ここにスペースがありますよ」と割り当てる。動画は、これをお客さんがレストランに入って座ろうとする瞬間に、椅子をさっと差し出す神業にたとえます。本当にデータが増えて物理容量がいっぱいになったら、システムを止めることなく、物理的なハードディスクだけを後から増設すればよい、と説明します。OS側からは、ずっと巨大な空間があるように見え続けます。
航空会社のオーバーブッキングみたいに、「100使えますよ」と言いながら、裏では全然用意していない、ずるい仕組みですか?
見かけの容量と実際の容量を切り離すという意味では似ています。でも、システムを止めるようなことはありません。
数字で考えてみましょう(自作の設例です)。3つの部門が、それぞれ「10TB必要」と要求したとします。見かけの容量は合計30TBです。ところが、実際に使われているのは、2TB、1.5TB、3TBの合計6.5TBだけです。従来のやり方では、30TBを最初から用意するので、使用率は約22%(6.5÷30)にとどまります。シンプロビジョニングなら、まず実容量10TBを用意すれば足ります。これは30TBの約3分の1で、使用率は65%(6.5÷10)になります。最初から巨大な投資をしなくて済むので、経営的にもコスト削減の面で理にかなっている、と動画は言います。
(補足:NECの製品資料では、実際の容量を割り当てていない見かけ上の容量を仮想容量、プールに割り当てられて実際に確保されている容量を実容量と区別しています。書き込まれたデータ量に応じて自動で容量を割り当て、不足したときは業務を止めずにドライブを追加できる、という説明です。OSから大きく見えるのは仮想容量で、実容量が無限になるわけではありません。使用量に合わせた増設が前提になります。)
まとめ:限りある資源を、どう有効に使うか
動画は、今日の話を単なるIT用語ではなく、資源の制約に対して、コストを抑えながらパフォーマンスを最大化するための、非常に経営的なアプローチだとまとめます。ハードウェアの物理的な限界を、ソフトウェアの工夫でうまく隠し、ユーザーに限界を感じさせない。それがITシステムの美しいところだ、という結びです。
| 技術 | やりくりの中身 | 動画のたとえ |
|---|---|---|
| 光学 | 記録面の | 本・履歴書 |
| 仮想記憶 | 補助記憶で | まな板と |
| スラッシング | 出し入れが | 冷蔵庫を |
| NAS | ネットワーク | 共有の |
| SAN | 専用の | 専用の |
| シンプロ | 見かけは | 座る瞬間に |
動画は最後に、こんな問いかけで終わります。私たちが普段、当たり前のように無限に広がっていると信じているデジタルの世界は、実は巧みな仮想化という魔法の上に成り立っているのかもしれません。いま使っているシステムのどこまでが物理的な現実で、どこからがソフトウェアが見せている仮想なのか。自分の環境を見つめ直しながら、考えてみてください。

