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

By 神居 - Posted: 2008/08/27 Last updated: 2009/10/05 - Leave a Comment

記憶保護機構

メモリー上にはプログラムとデータが置かれます。それらはOS自身やOSが使用するシステム制御用のデータ、一般ユーザーが作成した業務用アプリケーション・プログラムとデータに分かれますが、メモリー上では混在して配置されます。そのためメモリー上の場所(アドレス)さえわかれば、容易にプログラムやデータを壊すことが出来てしまいます。もちろん悪意でなくバグなどによって誤って壊すこともあります。
高信頼性を売りにするメインフレームがこれでは困ります。そのためメモリーを4KBバイト毎に区分けして、それぞれにキーを設定します。区分けされたメモリーはページと呼ばれます。キーは0?15の16種類あり、ページ毎のキーとPSW内のキーが一致しないとメモリーには書き込み出来ない仕組みを持っています。これはハードウェアの機能で「記憶保護機構」と呼ばれます。16種類のキーのうち、キー0は特別でPSWキーが0であれば、メモリー上のキー値に関わらず書き込みが可能です。

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

記憶保護のしくみ

記憶保護のしくみ


Posted in ..メインフレーム入門 • • Top Of Page