一回も披露したことのない豆知識

現在OSについて勉強中なのですがわからないことがあるので教えていただけたらと思います。

ロードモジュールとは機械語に変換されたプログラムなのですよね?
そこでデータはPSECT、命令がCSECTになるのでしょうか?
また、CSECTはスワップ領域には退避しないと聞きましたが、それでは再配置したときどのように命令を実行するのでしょうか?

まだまだ初心者で見当違いな質問かもしれませんが教えていただけたら幸いです。
よろしくお願いします。

A 回答 (2件)

ANo1のご説明にすでに出てきていますが,ロードモジュールの形式はOSや言語によって異なります.同じOSではだいたいどんな言語でも同じようなロードモジュール形式することができますが.



ロードモジュール内は,たいていは複数のセクションにわかれていて,プログラムコードとデータはちがうセクションに入ります.が,セクションがどう呼ばれるかは個々の形式に依ります.またMS-DOSの.comファイルみたいに,セクション分けがないものもあったりします.

プログラムコードは,普通は実行中に書き換えることはありません.そのため,メモリが足りなくなったときにはスワップアウトする(内容をHDDに待避する)必要はなく,ただ破棄すれば足ります.次に必要になったときには,もとのロードモジュールから再ロードすればいいわけです.
    • good
    • 0
この回答へのお礼

少しわかった気がします。
私はまだプログラムも作れませんし、言語の勉強もしていません。
いきなり「OSとは」のような勉強から始まってしまったのでいまいちまだ理解に苦しむところがあります。
ただ少しだけわかったような気がするので、後は本など読んで勉強しようと思います。
ありがとうございました。

お礼日時:2006/04/20 08:44

 「OSについて」とありますが、具体的には何を見て勉強しているのでしょうか?


 質問を見る限り、アセンブラの勉強かなにかをされているようにも見受けられますが。

>ロードモジュールとは機械語に変換されたプログラムなのですよね?
 ケース・バイ・ケースで意味が変わります。
 単に「ロードされるべきモジュール」というだけで、それ以上の意味がないこともあります。あなたが作ったプログラムのことを指す場合もあります。
 ですが、通常は内部に機械語に変換されたプログラムが入っています。

>そこでデータはPSECT、命令がCSECTになるのでしょうか?
 単語自体がかなり希少で、しかも使用される言語によって意味が変わります。
 具体的に何の勉強をされているのかが分からないと、こっちが知っているのかどうかも判断できません。

>また、CSECTはスワップ領域には退避しないと聞きましたが、それでは再配置したときどのように命令を実行するのでしょうか?
 再配置とは、ここでは「一度スワップ(退避)した領域を、メインメモリ上に戻す」ことを言いますから、スワップされることがない領域は、再配置されることもありません。
 決しておもちゃ箱に片付けられることがない物を、おもちゃ箱から取り出すことはできないのと一緒です。
    • good
    • 0
この回答へのお礼

ありがとうございます。
OSにいろんな種類があることは知っていますが、今は何と限定せずに、単純にテスト勉強として先輩に教わっています。
なので私自身何がわからないのかわからない状態でうまく質問もできていないと思います。
親切に答えていただきありがとうございました。

お礼日時:2006/04/20 08:41

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


おすすめ情報