2017-03-04 7 views
-2

4つの汎用レジスタを持つCPUを持つオペレーティングシステムの場合。どのくらいの量のパラメータが、CPUレジスタのみを使用してシステムコールに渡すことができますか(つまり、メモリブロックまたはスタックを使用しない)?オペレーティングシステムとレジスタのパラメータ

レジスタのサイズがシステムコールに渡されるパラメータと同じであると仮定します。

+0

パラメータをシステムコールにどのように渡しますか?パラメータのほかにシステムコールの追加の引数が必要ですか(汎用レジスタに行くのでしょうかマシンにはシステムコールを行うための特別なレジスタがありますか?パラメータのサイズはレジスタの幅と等しいかどうか? (あなたは授業に出席して教科書を読んだことがありますか?) – osgx

答えて

1

あなたの質問は完全にハードウェア固有です。プログラムカウンタは「汎用レジスタですか?」ほとんどのプロセッサでは、他のプロセッサではありません。

スタックポインタは「汎用レジスタですか?」繰り返しますが、ほとんどのプロセッサでは、それはそうではありませんが、他のプロセッサではありません。

あなたの答えは、ハードウェア構成によって2から4の範囲になる可能性があります。

+0

私はこのチュートリアルの質問の1つでこの質問に遭遇し、文句が混乱し、少し曖昧であることがわかりました。だから私はここの誰かが私よりもそれをよく理解し、潜在的に私に良い答えを与えることを望んでいた。 – Kyle

+0

質問の要点は「どのくらいのレジスタが無料か」です。開始するレジスタの数と使用中のレジスタの数を知る必要があります。システムによっては、フレームポインタが含まれています。その場合、あなたの答えは1に過ぎません。 – user3344003

関連する問題