10.メインフレーム・コンピューターのしくみ(記憶保護機構)

記憶保護機構

メモリー上にはプログラムとデータが置かれます。それらはOS自身やOSが使用するシステム制御用のデータ、一般ユーザーが作成した業務用アプリケーション・プログラムとデータに分かれますが、メモリー上では混在して配置されます。そのため、メモリー上の場所(アドレス)さえわかれば、容易にプログラムやデータを壊すことが出来てしまいます。もちろん悪意でなくバグなどによって誤って壊すこともあります。

高信頼性を売りにするメインフレームがこれでは困ります。そのため、メモリーを4KBバイト毎に区分けして、それぞれにキーを設定しています。区分けされたメモリー域は「ページ」と呼ばれます。キーは0~15の16種類あり、ページ毎のキーとPSW内のキーが一致しないとメモリーには書き込み出来ない仕組みを持っています。これが、「記憶保護機構」と呼ばれるハードウェアの機能です。16種類のキーのうち、キー0は特別でPSWキーが0であれば、メモリー上のキー値に関わらず書き込みが可能です。

記憶保護機構とは別ですが、実行するプログラムを特権と一般の2種類の実行モードで切り替えることができます。それぞれ監視プログラム状態・問題プログラム状態と呼ばれます。監視プログラム状態ではすべてのCPU命令を実行できますが、問題プログラム状態では特権命令に分類される命令は実行できません。特権命令は主にハードウェアを直接制御するための命令群で、例えば、PSWのキーを変更するためのSPKA(Set PSW Key from Address)命令があります。いくら記憶保護機能でメモリーを保護しても、キーの値をユーザー・プログラムで自由に変えられてしまっては意味がありません。よってCPU命令そのものも特権命令と一般命令に分け、ユーザー・プログラムが間違えればシステム破壊に繋がる特権命令を安易に使用できないようにしているのです。

また、チャネルに入出力動作を開始させるSSCH(Start Sub Channel)命令などI/Oを行う命令も特権命令です。MVSでは、システム内で要求されたI/O処理は、そのすべてについてOSが管理していて、ディスク内のデータセットへのアクセスなどは、OSのサービスを介して行うようになっています。ユーザー・プログラムが直接チャネルを起動することはありません。


記憶保護のしくみ

Print Friendly, PDF & Email