プログラムを主記憶のどの位置にも読み込めるようにする動的再配置の方法として、適切なものはどれか。
選択肢をタップすると、その場で答え合わせできます
正解と解説を見る
正解 A先頭を0番地とする相対アドレスで作り、実行時に基底レジスタの値を加える
解説
正解は「先頭を0番地とする相対アドレスで作り、実行時に基底レジスタの値を加える」です。読み込んだ先頭番地を基底(ベース)レジスタに設定すれば、プログラム中のアドレスを書き換えなくても、ハードウェアが参照のたびに物理アドレスへ変換します。限界レジスタと組み合わせて、自分の領域の外を参照していないかを検査すれば、記憶保護にもなります。「プログラムを常に主記憶の0番地から読み込む」と、複数のプログラムを同時に置けません。「読み込むたびにプログラムをコンパイルし直す」のは非効率で、再配置の方法ではありません。「プログラム中のアドレスをすべて絶対アドレスで書いておく」と、決まった位置にしか読み込めません。
- #再配置
- #基底レジスタ
この調子でOS・ネットワーク・データベースを続けて解く
▶ この科目の連続演習へ進む(10問)